/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, 26 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) MNOCProof [EQUIVALENT, 0 ms] (15) QDP (16) InductionCalculusProof [EQUIVALENT, 0 ms] (17) QDP (18) TransformationProof [EQUIVALENT, 0 ms] (19) QDP (20) DependencyGraphProof [EQUIVALENT, 0 ms] (21) AND (22) QDP (23) UsableRulesProof [EQUIVALENT, 0 ms] (24) QDP (25) QReductionProof [EQUIVALENT, 0 ms] (26) QDP (27) TransformationProof [EQUIVALENT, 0 ms] (28) QDP (29) DependencyGraphProof [EQUIVALENT, 0 ms] (30) AND (31) QDP (32) UsableRulesProof [EQUIVALENT, 0 ms] (33) QDP (34) QReductionProof [EQUIVALENT, 0 ms] (35) QDP (36) TransformationProof [EQUIVALENT, 0 ms] (37) QDP (38) TransformationProof [EQUIVALENT, 0 ms] (39) QDP (40) DependencyGraphProof [EQUIVALENT, 0 ms] (41) QDP (42) TransformationProof [EQUIVALENT, 0 ms] (43) QDP (44) TransformationProof [EQUIVALENT, 0 ms] (45) QDP (46) DependencyGraphProof [EQUIVALENT, 0 ms] (47) QDP (48) TransformationProof [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) MRRProof [EQUIVALENT, 24 ms] (59) QDP (60) DependencyGraphProof [EQUIVALENT, 0 ms] (61) TRUE (62) QDP (63) UsableRulesProof [EQUIVALENT, 0 ms] (64) QDP (65) TransformationProof [EQUIVALENT, 0 ms] (66) QDP (67) DependencyGraphProof [EQUIVALENT, 0 ms] (68) AND (69) QDP (70) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (81) QDP (82) TransformationProof [EQUIVALENT, 0 ms] (83) QDP (84) TransformationProof [EQUIVALENT, 0 ms] (85) QDP (86) DependencyGraphProof [EQUIVALENT, 0 ms] (87) QDP (88) QDPOrderProof [EQUIVALENT, 0 ms] (89) QDP (90) DependencyGraphProof [EQUIVALENT, 0 ms] (91) TRUE (92) QDP (93) TransformationProof [EQUIVALENT, 0 ms] (94) QDP (95) DependencyGraphProof [EQUIVALENT, 0 ms] (96) AND (97) QDP (98) TransformationProof [EQUIVALENT, 0 ms] (99) QDP (100) TransformationProof [EQUIVALENT, 0 ms] (101) QDP (102) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (113) QDP (114) TransformationProof [EQUIVALENT, 0 ms] (115) QDP (116) QDPOrderProof [EQUIVALENT, 0 ms] (117) QDP (118) DependencyGraphProof [EQUIVALENT, 0 ms] (119) TRUE (120) QDP (121) InductionCalculusProof [EQUIVALENT, 0 ms] (122) QDP (123) QDP (124) UsableRulesProof [EQUIVALENT, 0 ms] (125) QDP (126) QReductionProof [EQUIVALENT, 0 ms] (127) QDP (128) TransformationProof [EQUIVALENT, 1 ms] (129) QDP (130) DependencyGraphProof [EQUIVALENT, 0 ms] (131) AND (132) QDP (133) UsableRulesProof [EQUIVALENT, 0 ms] (134) QDP (135) QReductionProof [EQUIVALENT, 0 ms] (136) QDP (137) TransformationProof [EQUIVALENT, 0 ms] (138) QDP (139) DependencyGraphProof [EQUIVALENT, 0 ms] (140) AND (141) QDP (142) UsableRulesProof [EQUIVALENT, 0 ms] (143) QDP (144) QReductionProof [EQUIVALENT, 0 ms] (145) QDP (146) TransformationProof [EQUIVALENT, 0 ms] (147) QDP (148) TransformationProof [EQUIVALENT, 0 ms] (149) QDP (150) DependencyGraphProof [EQUIVALENT, 0 ms] (151) QDP (152) TransformationProof [EQUIVALENT, 0 ms] (153) QDP (154) TransformationProof [EQUIVALENT, 0 ms] (155) QDP (156) TransformationProof [EQUIVALENT, 0 ms] (157) QDP (158) DependencyGraphProof [EQUIVALENT, 0 ms] (159) QDP (160) TransformationProof [EQUIVALENT, 0 ms] (161) QDP (162) TransformationProof [EQUIVALENT, 0 ms] (163) QDP (164) TransformationProof [EQUIVALENT, 0 ms] (165) QDP (166) DependencyGraphProof [EQUIVALENT, 0 ms] (167) QDP (168) MRRProof [EQUIVALENT, 0 ms] (169) QDP (170) DependencyGraphProof [EQUIVALENT, 0 ms] (171) TRUE (172) QDP (173) UsableRulesProof [EQUIVALENT, 0 ms] (174) QDP (175) TransformationProof [EQUIVALENT, 0 ms] (176) QDP (177) DependencyGraphProof [EQUIVALENT, 0 ms] (178) AND (179) QDP (180) TransformationProof [EQUIVALENT, 0 ms] (181) QDP (182) TransformationProof [EQUIVALENT, 0 ms] (183) QDP (184) TransformationProof [EQUIVALENT, 0 ms] (185) QDP (186) TransformationProof [EQUIVALENT, 0 ms] (187) QDP (188) TransformationProof [EQUIVALENT, 0 ms] (189) QDP (190) DependencyGraphProof [EQUIVALENT, 0 ms] (191) QDP (192) TransformationProof [EQUIVALENT, 0 ms] (193) QDP (194) TransformationProof [EQUIVALENT, 0 ms] (195) QDP (196) DependencyGraphProof [EQUIVALENT, 0 ms] (197) QDP (198) QDPOrderProof [EQUIVALENT, 0 ms] (199) QDP (200) DependencyGraphProof [EQUIVALENT, 0 ms] (201) TRUE (202) QDP (203) TransformationProof [EQUIVALENT, 0 ms] (204) QDP (205) DependencyGraphProof [EQUIVALENT, 0 ms] (206) AND (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) TransformationProof [EQUIVALENT, 0 ms] (217) QDP (218) TransformationProof [EQUIVALENT, 0 ms] (219) QDP (220) TransformationProof [EQUIVALENT, 0 ms] (221) QDP (222) DependencyGraphProof [EQUIVALENT, 0 ms] (223) QDP (224) TransformationProof [EQUIVALENT, 0 ms] (225) QDP (226) QDPOrderProof [EQUIVALENT, 0 ms] (227) QDP (228) DependencyGraphProof [EQUIVALENT, 0 ms] (229) TRUE (230) QDP (231) InductionCalculusProof [EQUIVALENT, 0 ms] (232) QDP (233) QDP (234) UsableRulesProof [EQUIVALENT, 0 ms] (235) QDP (236) QReductionProof [EQUIVALENT, 0 ms] (237) QDP (238) TransformationProof [EQUIVALENT, 0 ms] (239) QDP (240) DependencyGraphProof [EQUIVALENT, 0 ms] (241) QDP (242) TransformationProof [EQUIVALENT, 0 ms] (243) QDP (244) DependencyGraphProof [EQUIVALENT, 0 ms] (245) QDP (246) TransformationProof [EQUIVALENT, 0 ms] (247) QDP (248) TransformationProof [EQUIVALENT, 0 ms] (249) QDP (250) DependencyGraphProof [EQUIVALENT, 0 ms] (251) AND (252) QDP (253) UsableRulesProof [EQUIVALENT, 0 ms] (254) QDP (255) QReductionProof [EQUIVALENT, 0 ms] (256) QDP (257) TransformationProof [EQUIVALENT, 0 ms] (258) QDP (259) TransformationProof [EQUIVALENT, 0 ms] (260) QDP (261) TransformationProof [EQUIVALENT, 0 ms] (262) QDP (263) TransformationProof [EQUIVALENT, 0 ms] (264) QDP (265) DependencyGraphProof [EQUIVALENT, 0 ms] (266) QDP (267) TransformationProof [EQUIVALENT, 0 ms] (268) QDP (269) TransformationProof [EQUIVALENT, 0 ms] (270) QDP (271) TransformationProof [EQUIVALENT, 0 ms] (272) QDP (273) DependencyGraphProof [EQUIVALENT, 0 ms] (274) QDP (275) QDPSizeChangeProof [EQUIVALENT, 0 ms] (276) YES (277) QDP (278) UsableRulesProof [EQUIVALENT, 0 ms] (279) QDP (280) QReductionProof [EQUIVALENT, 0 ms] (281) QDP (282) TransformationProof [EQUIVALENT, 0 ms] (283) QDP (284) TransformationProof [EQUIVALENT, 0 ms] (285) QDP (286) TransformationProof [EQUIVALENT, 0 ms] (287) QDP (288) DependencyGraphProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (297) QDP (298) QDPSizeChangeProof [EQUIVALENT, 0 ms] (299) YES (300) QDP (301) UsableRulesProof [EQUIVALENT, 0 ms] (302) QDP (303) TransformationProof [EQUIVALENT, 0 ms] (304) QDP (305) TransformationProof [EQUIVALENT, 0 ms] (306) QDP (307) TransformationProof [EQUIVALENT, 0 ms] (308) QDP (309) TransformationProof [EQUIVALENT, 0 ms] (310) QDP (311) TransformationProof [EQUIVALENT, 0 ms] (312) QDP (313) TransformationProof [EQUIVALENT, 0 ms] (314) QDP (315) DependencyGraphProof [EQUIVALENT, 0 ms] (316) QDP (317) TransformationProof [EQUIVALENT, 0 ms] (318) QDP (319) TransformationProof [EQUIVALENT, 0 ms] (320) QDP (321) TransformationProof [EQUIVALENT, 0 ms] (322) QDP (323) TransformationProof [EQUIVALENT, 0 ms] (324) QDP (325) TransformationProof [EQUIVALENT, 0 ms] (326) QDP (327) TransformationProof [EQUIVALENT, 0 ms] (328) QDP (329) TransformationProof [EQUIVALENT, 0 ms] (330) QDP (331) TransformationProof [EQUIVALENT, 0 ms] (332) QDP (333) TransformationProof [EQUIVALENT, 0 ms] (334) QDP (335) DependencyGraphProof [EQUIVALENT, 0 ms] (336) QDP (337) TransformationProof [EQUIVALENT, 0 ms] (338) QDP (339) TransformationProof [EQUIVALENT, 0 ms] (340) QDP (341) DependencyGraphProof [EQUIVALENT, 0 ms] (342) AND (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) DependencyGraphProof [EQUIVALENT, 0 ms] (353) QDP (354) QDPOrderProof [EQUIVALENT, 86 ms] (355) QDP (356) DependencyGraphProof [EQUIVALENT, 0 ms] (357) TRUE (358) QDP (359) TransformationProof [EQUIVALENT, 0 ms] (360) QDP (361) DependencyGraphProof [EQUIVALENT, 0 ms] (362) QDP (363) QDPOrderProof [EQUIVALENT, 77 ms] (364) QDP (365) DependencyGraphProof [EQUIVALENT, 0 ms] (366) TRUE (367) QDP (368) TransformationProof [EQUIVALENT, 0 ms] (369) QDP (370) DependencyGraphProof [EQUIVALENT, 0 ms] (371) AND (372) QDP (373) TransformationProof [EQUIVALENT, 0 ms] (374) QDP (375) TransformationProof [EQUIVALENT, 0 ms] (376) QDP (377) TransformationProof [EQUIVALENT, 0 ms] (378) QDP (379) TransformationProof [EQUIVALENT, 0 ms] (380) QDP (381) QDPOrderProof [EQUIVALENT, 19 ms] (382) QDP (383) DependencyGraphProof [EQUIVALENT, 0 ms] (384) TRUE (385) QDP (386) QDPOrderProof [EQUIVALENT, 77 ms] (387) QDP (388) DependencyGraphProof [EQUIVALENT, 0 ms] (389) TRUE (390) QDP (391) InductionCalculusProof [EQUIVALENT, 0 ms] (392) QDP (393) QDP (394) TransformationProof [EQUIVALENT, 0 ms] (395) QDP (396) TransformationProof [EQUIVALENT, 0 ms] (397) QDP (398) TransformationProof [EQUIVALENT, 0 ms] (399) QDP (400) UsableRulesProof [EQUIVALENT, 0 ms] (401) QDP (402) QReductionProof [EQUIVALENT, 0 ms] (403) QDP (404) TransformationProof [EQUIVALENT, 25 ms] (405) QDP (406) UsableRulesProof [EQUIVALENT, 0 ms] (407) QDP (408) QReductionProof [EQUIVALENT, 0 ms] (409) QDP (410) TransformationProof [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) QDPSizeChangeProof [EQUIVALENT, 0 ms] (419) YES (420) QDP (421) DependencyGraphProof [EQUIVALENT, 0 ms] (422) AND (423) QDP (424) TransformationProof [EQUIVALENT, 0 ms] (425) QDP (426) TransformationProof [EQUIVALENT, 0 ms] (427) QDP (428) QDPSizeChangeProof [EQUIVALENT, 0 ms] (429) YES (430) QDP (431) QDPSizeChangeProof [EQUIVALENT, 0 ms] (432) YES (433) QDP (434) DependencyGraphProof [EQUIVALENT, 0 ms] (435) AND (436) QDP (437) MRRProof [EQUIVALENT, 0 ms] (438) QDP (439) PisEmptyProof [EQUIVALENT, 0 ms] (440) YES (441) QDP (442) QDPSizeChangeProof [EQUIVALENT, 0 ms] (443) YES (444) QDP (445) QDPSizeChangeProof [EQUIVALENT, 0 ms] (446) YES (447) QDP (448) QDPSizeChangeProof [EQUIVALENT, 0 ms] (449) YES (450) QDP (451) QDPSizeChangeProof [EQUIVALENT, 0 ms] (452) YES (453) Narrow [COMPLETE, 0 ms] (454) QDP (455) PisEmptyProof [EQUIVALENT, 0 ms] (456) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" is transformed to "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); primDivNatS0 x y False = Zero; " The following If expression "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" is transformed to "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); primModNatS0 x y False = Succ x; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "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'1 True x xz = x; gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; " "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; " "gcd0Gcd' x xz = gcd0Gcd'2 x xz; gcd0Gcd' x y = gcd0Gcd'0 x y; " "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); " The bindings of the following Let/Where expression "reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } " are unpacked to the following functions on top level "reduce2Reduce1 vux vuy x y True = error []; reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; " "reduce2D vux vuy = gcd vux vuy; " "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D 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="product",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="product vuz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 4[label="foldl' (*) (fromInt (Pos (Succ Zero))) vuz3",fontsize=16,color="burlywood",shape="box"];6709[label="vuz3/vuz30 : vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 6709[label="",style="solid", color="burlywood", weight=9]; 6709 -> 5[label="",style="solid", color="burlywood", weight=3]; 6710[label="vuz3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 6710[label="",style="solid", color="burlywood", weight=9]; 6710 -> 6[label="",style="solid", color="burlywood", weight=3]; 5[label="foldl' (*) (fromInt (Pos (Succ Zero))) (vuz30 : vuz31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 6[label="foldl' (*) (fromInt (Pos (Succ Zero))) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 7[label="(foldl' (*) $! (*) fromInt (Pos (Succ Zero)) vuz30)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 8[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];8 -> 10[label="",style="solid", color="black", weight=3]; 9 -> 11[label="",style="dashed", color="red", weight=0]; 9[label="((*) fromInt (Pos (Succ Zero)) vuz30 `seq` foldl' (*) ((*) fromInt (Pos (Succ Zero)) vuz30))",fontsize=16,color="magenta"];9 -> 12[label="",style="dashed", color="magenta", weight=3]; 9 -> 13[label="",style="dashed", color="magenta", weight=3]; 10[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 12 -> 8[label="",style="dashed", color="red", weight=0]; 12[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];13 -> 8[label="",style="dashed", color="red", weight=0]; 13[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];11[label="((*) vuz4 vuz30 `seq` foldl' (*) ((*) vuz5 vuz30))",fontsize=16,color="black",shape="triangle"];11 -> 15[label="",style="solid", color="black", weight=3]; 14[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];14 -> 16[label="",style="dashed", color="green", weight=3]; 14 -> 17[label="",style="dashed", color="green", weight=3]; 15[label="enforceWHNF (WHNF ((*) vuz4 vuz30)) (foldl' (*) ((*) vuz5 vuz30)) vuz31",fontsize=16,color="burlywood",shape="box"];6711[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 6711[label="",style="solid", color="burlywood", weight=9]; 6711 -> 18[label="",style="solid", color="burlywood", weight=3]; 16[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];16 -> 19[label="",style="solid", color="black", weight=3]; 17 -> 16[label="",style="dashed", color="red", weight=0]; 17[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];18[label="enforceWHNF (WHNF ((*) (vuz40 :% vuz41) vuz30)) (foldl' (*) ((*) vuz5 vuz30)) vuz31",fontsize=16,color="burlywood",shape="box"];6712[label="vuz30/vuz300 :% vuz301",fontsize=10,color="white",style="solid",shape="box"];18 -> 6712[label="",style="solid", color="burlywood", weight=9]; 6712 -> 20[label="",style="solid", color="burlywood", weight=3]; 19[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];20[label="enforceWHNF (WHNF ((*) (vuz40 :% vuz41) (vuz300 :% vuz301))) (foldl' (*) ((*) vuz5 (vuz300 :% vuz301))) vuz31",fontsize=16,color="black",shape="box"];20 -> 21[label="",style="solid", color="black", weight=3]; 21[label="enforceWHNF (WHNF (reduce (vuz40 * vuz300) (vuz41 * vuz301))) (foldl' (*) (reduce (vuz40 * vuz300) (vuz41 * vuz301))) vuz31",fontsize=16,color="black",shape="box"];21 -> 22[label="",style="solid", color="black", weight=3]; 22[label="enforceWHNF (WHNF (reduce2 (vuz40 * vuz300) (vuz41 * vuz301))) (foldl' (*) (reduce2 (vuz40 * vuz300) (vuz41 * vuz301))) vuz31",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 23[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (vuz41 * vuz301 == fromInt (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (vuz41 * vuz301 == fromInt (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 24[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (primEqInt (vuz41 * vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (primEqInt (vuz41 * vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 25[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt vuz41 vuz301) (vuz40 * vuz300) (primMulInt vuz41 vuz301) (primEqInt (primMulInt vuz41 vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt vuz41 vuz301) (vuz40 * vuz300) (primMulInt vuz41 vuz301) (primEqInt (primMulInt vuz41 vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6713[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];25 -> 6713[label="",style="solid", color="burlywood", weight=9]; 6713 -> 26[label="",style="solid", color="burlywood", weight=3]; 6714[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];25 -> 6714[label="",style="solid", color="burlywood", weight=9]; 6714 -> 27[label="",style="solid", color="burlywood", weight=3]; 26[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (primEqInt (primMulInt (Pos vuz410) vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (primEqInt (primMulInt (Pos vuz410) vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6715[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];26 -> 6715[label="",style="solid", color="burlywood", weight=9]; 6715 -> 28[label="",style="solid", color="burlywood", weight=3]; 6716[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];26 -> 6716[label="",style="solid", color="burlywood", weight=9]; 6716 -> 29[label="",style="solid", color="burlywood", weight=3]; 27[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (primEqInt (primMulInt (Neg vuz410) vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (primEqInt (primMulInt (Neg vuz410) vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6717[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];27 -> 6717[label="",style="solid", color="burlywood", weight=9]; 6717 -> 30[label="",style="solid", color="burlywood", weight=3]; 6718[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];27 -> 6718[label="",style="solid", color="burlywood", weight=9]; 6718 -> 31[label="",style="solid", color="burlywood", weight=3]; 28[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 29[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 30[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32 -> 304[label="",style="dashed", color="red", weight=0]; 32[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];32 -> 305[label="",style="dashed", color="magenta", weight=3]; 32 -> 306[label="",style="dashed", color="magenta", weight=3]; 32 -> 307[label="",style="dashed", color="magenta", weight=3]; 32 -> 308[label="",style="dashed", color="magenta", weight=3]; 32 -> 309[label="",style="dashed", color="magenta", weight=3]; 32 -> 310[label="",style="dashed", color="magenta", weight=3]; 33 -> 393[label="",style="dashed", color="red", weight=0]; 33[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];33 -> 394[label="",style="dashed", color="magenta", weight=3]; 33 -> 395[label="",style="dashed", color="magenta", weight=3]; 33 -> 396[label="",style="dashed", color="magenta", weight=3]; 33 -> 397[label="",style="dashed", color="magenta", weight=3]; 33 -> 398[label="",style="dashed", color="magenta", weight=3]; 33 -> 399[label="",style="dashed", color="magenta", weight=3]; 34 -> 393[label="",style="dashed", color="red", weight=0]; 34[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];34 -> 400[label="",style="dashed", color="magenta", weight=3]; 34 -> 401[label="",style="dashed", color="magenta", weight=3]; 34 -> 402[label="",style="dashed", color="magenta", weight=3]; 34 -> 403[label="",style="dashed", color="magenta", weight=3]; 34 -> 404[label="",style="dashed", color="magenta", weight=3]; 34 -> 405[label="",style="dashed", color="magenta", weight=3]; 35 -> 304[label="",style="dashed", color="red", weight=0]; 35[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];35 -> 311[label="",style="dashed", color="magenta", weight=3]; 35 -> 312[label="",style="dashed", color="magenta", weight=3]; 35 -> 313[label="",style="dashed", color="magenta", weight=3]; 35 -> 314[label="",style="dashed", color="magenta", weight=3]; 35 -> 315[label="",style="dashed", color="magenta", weight=3]; 35 -> 316[label="",style="dashed", color="magenta", weight=3]; 305[label="primMulNat vuz410 vuz3010",fontsize=16,color="burlywood",shape="triangle"];6719[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];305 -> 6719[label="",style="solid", color="burlywood", weight=9]; 6719 -> 377[label="",style="solid", color="burlywood", weight=3]; 6720[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];305 -> 6720[label="",style="solid", color="burlywood", weight=9]; 6720 -> 378[label="",style="solid", color="burlywood", weight=3]; 306 -> 305[label="",style="dashed", color="red", weight=0]; 306[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];307 -> 305[label="",style="dashed", color="red", weight=0]; 307[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];308 -> 305[label="",style="dashed", color="red", weight=0]; 308[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];309 -> 305[label="",style="dashed", color="red", weight=0]; 309[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];310 -> 305[label="",style="dashed", color="red", weight=0]; 310[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];304[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos vuz30) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="triangle"];6721[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];304 -> 6721[label="",style="solid", color="burlywood", weight=9]; 6721 -> 379[label="",style="solid", color="burlywood", weight=3]; 6722[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];304 -> 6722[label="",style="solid", color="burlywood", weight=9]; 6722 -> 380[label="",style="solid", color="burlywood", weight=3]; 394 -> 305[label="",style="dashed", color="red", weight=0]; 394[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];394 -> 466[label="",style="dashed", color="magenta", weight=3]; 395 -> 305[label="",style="dashed", color="red", weight=0]; 395[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];395 -> 467[label="",style="dashed", color="magenta", weight=3]; 396 -> 305[label="",style="dashed", color="red", weight=0]; 396[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];396 -> 468[label="",style="dashed", color="magenta", weight=3]; 397 -> 305[label="",style="dashed", color="red", weight=0]; 397[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];397 -> 469[label="",style="dashed", color="magenta", weight=3]; 398 -> 305[label="",style="dashed", color="red", weight=0]; 398[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];398 -> 470[label="",style="dashed", color="magenta", weight=3]; 399 -> 305[label="",style="dashed", color="red", weight=0]; 399[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];399 -> 471[label="",style="dashed", color="magenta", weight=3]; 393[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg vuz36) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="triangle"];6723[label="vuz36/Succ vuz360",fontsize=10,color="white",style="solid",shape="box"];393 -> 6723[label="",style="solid", color="burlywood", weight=9]; 6723 -> 472[label="",style="solid", color="burlywood", weight=3]; 6724[label="vuz36/Zero",fontsize=10,color="white",style="solid",shape="box"];393 -> 6724[label="",style="solid", color="burlywood", weight=9]; 6724 -> 473[label="",style="solid", color="burlywood", weight=3]; 400 -> 305[label="",style="dashed", color="red", weight=0]; 400[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];400 -> 474[label="",style="dashed", color="magenta", weight=3]; 401 -> 305[label="",style="dashed", color="red", weight=0]; 401[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];401 -> 475[label="",style="dashed", color="magenta", weight=3]; 402 -> 305[label="",style="dashed", color="red", weight=0]; 402[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];402 -> 476[label="",style="dashed", color="magenta", weight=3]; 403 -> 305[label="",style="dashed", color="red", weight=0]; 403[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];403 -> 477[label="",style="dashed", color="magenta", weight=3]; 404 -> 305[label="",style="dashed", color="red", weight=0]; 404[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];404 -> 478[label="",style="dashed", color="magenta", weight=3]; 405 -> 305[label="",style="dashed", color="red", weight=0]; 405[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];405 -> 479[label="",style="dashed", color="magenta", weight=3]; 311 -> 305[label="",style="dashed", color="red", weight=0]; 311[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];311 -> 381[label="",style="dashed", color="magenta", weight=3]; 311 -> 382[label="",style="dashed", color="magenta", weight=3]; 312 -> 305[label="",style="dashed", color="red", weight=0]; 312[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];312 -> 383[label="",style="dashed", color="magenta", weight=3]; 312 -> 384[label="",style="dashed", color="magenta", weight=3]; 313 -> 305[label="",style="dashed", color="red", weight=0]; 313[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];313 -> 385[label="",style="dashed", color="magenta", weight=3]; 313 -> 386[label="",style="dashed", color="magenta", weight=3]; 314 -> 305[label="",style="dashed", color="red", weight=0]; 314[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];314 -> 387[label="",style="dashed", color="magenta", weight=3]; 314 -> 388[label="",style="dashed", color="magenta", weight=3]; 315 -> 305[label="",style="dashed", color="red", weight=0]; 315[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];315 -> 389[label="",style="dashed", color="magenta", weight=3]; 315 -> 390[label="",style="dashed", color="magenta", weight=3]; 316 -> 305[label="",style="dashed", color="red", weight=0]; 316[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];316 -> 391[label="",style="dashed", color="magenta", weight=3]; 316 -> 392[label="",style="dashed", color="magenta", weight=3]; 377[label="primMulNat (Succ vuz4100) vuz3010",fontsize=16,color="burlywood",shape="box"];6725[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];377 -> 6725[label="",style="solid", color="burlywood", weight=9]; 6725 -> 480[label="",style="solid", color="burlywood", weight=3]; 6726[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];377 -> 6726[label="",style="solid", color="burlywood", weight=9]; 6726 -> 481[label="",style="solid", color="burlywood", weight=3]; 378[label="primMulNat Zero vuz3010",fontsize=16,color="burlywood",shape="box"];6727[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];378 -> 6727[label="",style="solid", color="burlywood", weight=9]; 6727 -> 482[label="",style="solid", color="burlywood", weight=3]; 6728[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];378 -> 6728[label="",style="solid", color="burlywood", weight=9]; 6728 -> 483[label="",style="solid", color="burlywood", weight=3]; 379[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos (Succ vuz300)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];379 -> 484[label="",style="solid", color="black", weight=3]; 380[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];380 -> 485[label="",style="solid", color="black", weight=3]; 466[label="vuz3010",fontsize=16,color="green",shape="box"];467[label="vuz3010",fontsize=16,color="green",shape="box"];468[label="vuz3010",fontsize=16,color="green",shape="box"];469[label="vuz3010",fontsize=16,color="green",shape="box"];470[label="vuz3010",fontsize=16,color="green",shape="box"];471[label="vuz3010",fontsize=16,color="green",shape="box"];472[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg (Succ vuz360)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];472 -> 486[label="",style="solid", color="black", weight=3]; 473[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];473 -> 487[label="",style="solid", color="black", weight=3]; 474[label="vuz410",fontsize=16,color="green",shape="box"];475[label="vuz410",fontsize=16,color="green",shape="box"];476[label="vuz410",fontsize=16,color="green",shape="box"];477[label="vuz410",fontsize=16,color="green",shape="box"];478[label="vuz410",fontsize=16,color="green",shape="box"];479[label="vuz410",fontsize=16,color="green",shape="box"];381[label="vuz410",fontsize=16,color="green",shape="box"];382[label="vuz3010",fontsize=16,color="green",shape="box"];383[label="vuz410",fontsize=16,color="green",shape="box"];384[label="vuz3010",fontsize=16,color="green",shape="box"];385[label="vuz410",fontsize=16,color="green",shape="box"];386[label="vuz3010",fontsize=16,color="green",shape="box"];387[label="vuz410",fontsize=16,color="green",shape="box"];388[label="vuz3010",fontsize=16,color="green",shape="box"];389[label="vuz410",fontsize=16,color="green",shape="box"];390[label="vuz3010",fontsize=16,color="green",shape="box"];391[label="vuz410",fontsize=16,color="green",shape="box"];392[label="vuz3010",fontsize=16,color="green",shape="box"];480[label="primMulNat (Succ vuz4100) (Succ vuz30100)",fontsize=16,color="black",shape="box"];480 -> 488[label="",style="solid", color="black", weight=3]; 481[label="primMulNat (Succ vuz4100) Zero",fontsize=16,color="black",shape="box"];481 -> 489[label="",style="solid", color="black", weight=3]; 482[label="primMulNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];482 -> 490[label="",style="solid", color="black", weight=3]; 483[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];483 -> 491[label="",style="solid", color="black", weight=3]; 484[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos (Succ vuz300)) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];484 -> 492[label="",style="solid", color="black", weight=3]; 485[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos Zero) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];485 -> 493[label="",style="solid", color="black", weight=3]; 486[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg (Succ vuz360)) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];486 -> 494[label="",style="solid", color="black", weight=3]; 487[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg Zero) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];487 -> 495[label="",style="solid", color="black", weight=3]; 488 -> 496[label="",style="dashed", color="red", weight=0]; 488[label="primPlusNat (primMulNat vuz4100 (Succ vuz30100)) (Succ vuz30100)",fontsize=16,color="magenta"];488 -> 497[label="",style="dashed", color="magenta", weight=3]; 489[label="Zero",fontsize=16,color="green",shape="box"];490[label="Zero",fontsize=16,color="green",shape="box"];491[label="Zero",fontsize=16,color="green",shape="box"];492[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) False)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) False)) vuz31",fontsize=16,color="black",shape="box"];492 -> 498[label="",style="solid", color="black", weight=3]; 493[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) True)) vuz31",fontsize=16,color="black",shape="box"];493 -> 499[label="",style="solid", color="black", weight=3]; 494[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) False)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) False)) vuz31",fontsize=16,color="black",shape="box"];494 -> 500[label="",style="solid", color="black", weight=3]; 495[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) True)) vuz31",fontsize=16,color="black",shape="box"];495 -> 501[label="",style="solid", color="black", weight=3]; 497 -> 305[label="",style="dashed", color="red", weight=0]; 497[label="primMulNat vuz4100 (Succ vuz30100)",fontsize=16,color="magenta"];497 -> 502[label="",style="dashed", color="magenta", weight=3]; 497 -> 503[label="",style="dashed", color="magenta", weight=3]; 496[label="primPlusNat vuz37 (Succ vuz30100)",fontsize=16,color="burlywood",shape="triangle"];6729[label="vuz37/Succ vuz370",fontsize=10,color="white",style="solid",shape="box"];496 -> 6729[label="",style="solid", color="burlywood", weight=9]; 6729 -> 504[label="",style="solid", color="burlywood", weight=3]; 6730[label="vuz37/Zero",fontsize=10,color="white",style="solid",shape="box"];496 -> 6730[label="",style="solid", color="burlywood", weight=9]; 6730 -> 505[label="",style="solid", color="burlywood", weight=3]; 498[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) otherwise)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) otherwise)) vuz31",fontsize=16,color="black",shape="box"];498 -> 506[label="",style="solid", color="black", weight=3]; 499[label="enforceWHNF (WHNF (error [])) (foldl' (*) (error [])) vuz31",fontsize=16,color="black",shape="triangle"];499 -> 507[label="",style="solid", color="black", weight=3]; 500[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) otherwise)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) otherwise)) vuz31",fontsize=16,color="black",shape="box"];500 -> 508[label="",style="solid", color="black", weight=3]; 501 -> 499[label="",style="dashed", color="red", weight=0]; 501[label="enforceWHNF (WHNF (error [])) (foldl' (*) (error [])) vuz31",fontsize=16,color="magenta"];502[label="vuz4100",fontsize=16,color="green",shape="box"];503[label="Succ vuz30100",fontsize=16,color="green",shape="box"];504[label="primPlusNat (Succ vuz370) (Succ vuz30100)",fontsize=16,color="black",shape="box"];504 -> 509[label="",style="solid", color="black", weight=3]; 505[label="primPlusNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];505 -> 510[label="",style="solid", color="black", weight=3]; 506[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) vuz31",fontsize=16,color="black",shape="box"];506 -> 511[label="",style="solid", color="black", weight=3]; 507[label="error []",fontsize=16,color="red",shape="box"];508[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) vuz31",fontsize=16,color="black",shape="box"];508 -> 512[label="",style="solid", color="black", weight=3]; 509[label="Succ (Succ (primPlusNat vuz370 vuz30100))",fontsize=16,color="green",shape="box"];509 -> 513[label="",style="dashed", color="green", weight=3]; 510[label="Succ vuz30100",fontsize=16,color="green",shape="box"];511 -> 1782[label="",style="dashed", color="red", weight=0]; 511[label="enforceWHNF (WHNF (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28) :% (Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)))) (foldl' (*) (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28) :% (Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)))) vuz31",fontsize=16,color="magenta"];511 -> 1783[label="",style="dashed", color="magenta", weight=3]; 511 -> 1784[label="",style="dashed", color="magenta", weight=3]; 511 -> 1785[label="",style="dashed", color="magenta", weight=3]; 511 -> 1786[label="",style="dashed", color="magenta", weight=3]; 512 -> 1782[label="",style="dashed", color="red", weight=0]; 512[label="enforceWHNF (WHNF (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34) :% (Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)))) (foldl' (*) (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34) :% (Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)))) vuz31",fontsize=16,color="magenta"];512 -> 1787[label="",style="dashed", color="magenta", weight=3]; 512 -> 1788[label="",style="dashed", color="magenta", weight=3]; 512 -> 1789[label="",style="dashed", color="magenta", weight=3]; 512 -> 1790[label="",style="dashed", color="magenta", weight=3]; 513[label="primPlusNat vuz370 vuz30100",fontsize=16,color="burlywood",shape="triangle"];6731[label="vuz370/Succ vuz3700",fontsize=10,color="white",style="solid",shape="box"];513 -> 6731[label="",style="solid", color="burlywood", weight=9]; 6731 -> 516[label="",style="solid", color="burlywood", weight=3]; 6732[label="vuz370/Zero",fontsize=10,color="white",style="solid",shape="box"];513 -> 6732[label="",style="solid", color="burlywood", weight=9]; 6732 -> 517[label="",style="solid", color="burlywood", weight=3]; 1783[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];1783 -> 3901[label="",style="solid", color="black", weight=3]; 1784[label="Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];1784 -> 3902[label="",style="solid", color="black", weight=3]; 1785 -> 1784[label="",style="dashed", color="red", weight=0]; 1785[label="Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="magenta"];1786 -> 1783[label="",style="dashed", color="red", weight=0]; 1786[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="magenta"];1782[label="enforceWHNF (WHNF (vuz104 :% vuz90)) (foldl' (*) (vuz103 :% vuz89)) vuz31",fontsize=16,color="black",shape="triangle"];1782 -> 3903[label="",style="solid", color="black", weight=3]; 1787[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];1787 -> 3904[label="",style="solid", color="black", weight=3]; 1788[label="Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];1788 -> 3905[label="",style="solid", color="black", weight=3]; 1789 -> 1788[label="",style="dashed", color="red", weight=0]; 1789[label="Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="magenta"];1790 -> 1787[label="",style="dashed", color="red", weight=0]; 1790[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="magenta"];516[label="primPlusNat (Succ vuz3700) vuz30100",fontsize=16,color="burlywood",shape="box"];6733[label="vuz30100/Succ vuz301000",fontsize=10,color="white",style="solid",shape="box"];516 -> 6733[label="",style="solid", color="burlywood", weight=9]; 6733 -> 520[label="",style="solid", color="burlywood", weight=3]; 6734[label="vuz30100/Zero",fontsize=10,color="white",style="solid",shape="box"];516 -> 6734[label="",style="solid", color="burlywood", weight=9]; 6734 -> 521[label="",style="solid", color="burlywood", weight=3]; 517[label="primPlusNat Zero vuz30100",fontsize=16,color="burlywood",shape="box"];6735[label="vuz30100/Succ vuz301000",fontsize=10,color="white",style="solid",shape="box"];517 -> 6735[label="",style="solid", color="burlywood", weight=9]; 6735 -> 522[label="",style="solid", color="burlywood", weight=3]; 6736[label="vuz30100/Zero",fontsize=10,color="white",style="solid",shape="box"];517 -> 6736[label="",style="solid", color="burlywood", weight=9]; 6736 -> 523[label="",style="solid", color="burlywood", weight=3]; 3901[label="primQuotInt (vuz40 * vuz300) (reduce2D (vuz40 * vuz300) (Pos vuz28))",fontsize=16,color="black",shape="box"];3901 -> 3906[label="",style="solid", color="black", weight=3]; 3902 -> 5758[label="",style="dashed", color="red", weight=0]; 3902[label="primQuotInt (Pos vuz27) (reduce2D (vuz40 * vuz300) (Pos vuz28))",fontsize=16,color="magenta"];3902 -> 5759[label="",style="dashed", color="magenta", weight=3]; 3903[label="foldl' (*) (vuz103 :% vuz89) vuz31",fontsize=16,color="burlywood",shape="box"];6737[label="vuz31/vuz310 : vuz311",fontsize=10,color="white",style="solid",shape="box"];3903 -> 6737[label="",style="solid", color="burlywood", weight=9]; 6737 -> 3908[label="",style="solid", color="burlywood", weight=3]; 6738[label="vuz31/[]",fontsize=10,color="white",style="solid",shape="box"];3903 -> 6738[label="",style="solid", color="burlywood", weight=9]; 6738 -> 3909[label="",style="solid", color="burlywood", weight=3]; 3904[label="primQuotInt (vuz40 * vuz300) (reduce2D (vuz40 * vuz300) (Neg vuz34))",fontsize=16,color="black",shape="box"];3904 -> 3910[label="",style="solid", color="black", weight=3]; 3905 -> 4543[label="",style="dashed", color="red", weight=0]; 3905[label="primQuotInt (Neg vuz33) (reduce2D (vuz40 * vuz300) (Neg vuz34))",fontsize=16,color="magenta"];3905 -> 4544[label="",style="dashed", color="magenta", weight=3]; 3905 -> 4545[label="",style="dashed", color="magenta", weight=3]; 520[label="primPlusNat (Succ vuz3700) (Succ vuz301000)",fontsize=16,color="black",shape="box"];520 -> 528[label="",style="solid", color="black", weight=3]; 521[label="primPlusNat (Succ vuz3700) Zero",fontsize=16,color="black",shape="box"];521 -> 529[label="",style="solid", color="black", weight=3]; 522[label="primPlusNat Zero (Succ vuz301000)",fontsize=16,color="black",shape="box"];522 -> 530[label="",style="solid", color="black", weight=3]; 523[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];523 -> 531[label="",style="solid", color="black", weight=3]; 3906[label="primQuotInt (primMulInt vuz40 vuz300) (reduce2D (primMulInt vuz40 vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6739[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];3906 -> 6739[label="",style="solid", color="burlywood", weight=9]; 6739 -> 3912[label="",style="solid", color="burlywood", weight=3]; 6740[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];3906 -> 6740[label="",style="solid", color="burlywood", weight=9]; 6740 -> 3913[label="",style="solid", color="burlywood", weight=3]; 5759[label="reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];5759 -> 6168[label="",style="solid", color="black", weight=3]; 5758[label="primQuotInt (Pos vuz27) vuz166",fontsize=16,color="burlywood",shape="triangle"];6741[label="vuz166/Pos vuz1660",fontsize=10,color="white",style="solid",shape="box"];5758 -> 6741[label="",style="solid", color="burlywood", weight=9]; 6741 -> 6169[label="",style="solid", color="burlywood", weight=3]; 6742[label="vuz166/Neg vuz1660",fontsize=10,color="white",style="solid",shape="box"];5758 -> 6742[label="",style="solid", color="burlywood", weight=9]; 6742 -> 6170[label="",style="solid", color="burlywood", weight=3]; 3908[label="foldl' (*) (vuz103 :% vuz89) (vuz310 : vuz311)",fontsize=16,color="black",shape="box"];3908 -> 3915[label="",style="solid", color="black", weight=3]; 3909[label="foldl' (*) (vuz103 :% vuz89) []",fontsize=16,color="black",shape="box"];3909 -> 3916[label="",style="solid", color="black", weight=3]; 3910[label="primQuotInt (primMulInt vuz40 vuz300) (reduce2D (primMulInt vuz40 vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6743[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];3910 -> 6743[label="",style="solid", color="burlywood", weight=9]; 6743 -> 3917[label="",style="solid", color="burlywood", weight=3]; 6744[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];3910 -> 6744[label="",style="solid", color="burlywood", weight=9]; 6744 -> 3918[label="",style="solid", color="burlywood", weight=3]; 4544[label="reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4544 -> 4990[label="",style="solid", color="black", weight=3]; 4545[label="vuz33",fontsize=16,color="green",shape="box"];4543[label="primQuotInt (Neg vuz122) vuz123",fontsize=16,color="burlywood",shape="triangle"];6745[label="vuz123/Pos vuz1230",fontsize=10,color="white",style="solid",shape="box"];4543 -> 6745[label="",style="solid", color="burlywood", weight=9]; 6745 -> 4991[label="",style="solid", color="burlywood", weight=3]; 6746[label="vuz123/Neg vuz1230",fontsize=10,color="white",style="solid",shape="box"];4543 -> 6746[label="",style="solid", color="burlywood", weight=9]; 6746 -> 4992[label="",style="solid", color="burlywood", weight=3]; 528[label="Succ (Succ (primPlusNat vuz3700 vuz301000))",fontsize=16,color="green",shape="box"];528 -> 540[label="",style="dashed", color="green", weight=3]; 529[label="Succ vuz3700",fontsize=16,color="green",shape="box"];530[label="Succ vuz301000",fontsize=16,color="green",shape="box"];531[label="Zero",fontsize=16,color="green",shape="box"];3912[label="primQuotInt (primMulInt (Pos vuz400) vuz300) (reduce2D (primMulInt (Pos vuz400) vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6747[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3912 -> 6747[label="",style="solid", color="burlywood", weight=9]; 6747 -> 3920[label="",style="solid", color="burlywood", weight=3]; 6748[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3912 -> 6748[label="",style="solid", color="burlywood", weight=9]; 6748 -> 3921[label="",style="solid", color="burlywood", weight=3]; 3913[label="primQuotInt (primMulInt (Neg vuz400) vuz300) (reduce2D (primMulInt (Neg vuz400) vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6749[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3913 -> 6749[label="",style="solid", color="burlywood", weight=9]; 6749 -> 3922[label="",style="solid", color="burlywood", weight=3]; 6750[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3913 -> 6750[label="",style="solid", color="burlywood", weight=9]; 6750 -> 3923[label="",style="solid", color="burlywood", weight=3]; 6168[label="gcd (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6168 -> 6174[label="",style="solid", color="black", weight=3]; 6169[label="primQuotInt (Pos vuz27) (Pos vuz1660)",fontsize=16,color="burlywood",shape="box"];6751[label="vuz1660/Succ vuz16600",fontsize=10,color="white",style="solid",shape="box"];6169 -> 6751[label="",style="solid", color="burlywood", weight=9]; 6751 -> 6175[label="",style="solid", color="burlywood", weight=3]; 6752[label="vuz1660/Zero",fontsize=10,color="white",style="solid",shape="box"];6169 -> 6752[label="",style="solid", color="burlywood", weight=9]; 6752 -> 6176[label="",style="solid", color="burlywood", weight=3]; 6170[label="primQuotInt (Pos vuz27) (Neg vuz1660)",fontsize=16,color="burlywood",shape="box"];6753[label="vuz1660/Succ vuz16600",fontsize=10,color="white",style="solid",shape="box"];6170 -> 6753[label="",style="solid", color="burlywood", weight=9]; 6753 -> 6177[label="",style="solid", color="burlywood", weight=3]; 6754[label="vuz1660/Zero",fontsize=10,color="white",style="solid",shape="box"];6170 -> 6754[label="",style="solid", color="burlywood", weight=9]; 6754 -> 6178[label="",style="solid", color="burlywood", weight=3]; 3915[label="(foldl' (*) $! (*) (vuz103 :% vuz89) vuz310)",fontsize=16,color="black",shape="box"];3915 -> 3925[label="",style="solid", color="black", weight=3]; 3916[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3917[label="primQuotInt (primMulInt (Pos vuz400) vuz300) (reduce2D (primMulInt (Pos vuz400) vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6755[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3917 -> 6755[label="",style="solid", color="burlywood", weight=9]; 6755 -> 3926[label="",style="solid", color="burlywood", weight=3]; 6756[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3917 -> 6756[label="",style="solid", color="burlywood", weight=9]; 6756 -> 3927[label="",style="solid", color="burlywood", weight=3]; 3918[label="primQuotInt (primMulInt (Neg vuz400) vuz300) (reduce2D (primMulInt (Neg vuz400) vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6757[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 6757[label="",style="solid", color="burlywood", weight=9]; 6757 -> 3928[label="",style="solid", color="burlywood", weight=3]; 6758[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 6758[label="",style="solid", color="burlywood", weight=9]; 6758 -> 3929[label="",style="solid", color="burlywood", weight=3]; 4990[label="gcd (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4990 -> 4996[label="",style="solid", color="black", weight=3]; 4991[label="primQuotInt (Neg vuz122) (Pos vuz1230)",fontsize=16,color="burlywood",shape="box"];6759[label="vuz1230/Succ vuz12300",fontsize=10,color="white",style="solid",shape="box"];4991 -> 6759[label="",style="solid", color="burlywood", weight=9]; 6759 -> 4997[label="",style="solid", color="burlywood", weight=3]; 6760[label="vuz1230/Zero",fontsize=10,color="white",style="solid",shape="box"];4991 -> 6760[label="",style="solid", color="burlywood", weight=9]; 6760 -> 4998[label="",style="solid", color="burlywood", weight=3]; 4992[label="primQuotInt (Neg vuz122) (Neg vuz1230)",fontsize=16,color="burlywood",shape="box"];6761[label="vuz1230/Succ vuz12300",fontsize=10,color="white",style="solid",shape="box"];4992 -> 6761[label="",style="solid", color="burlywood", weight=9]; 6761 -> 4999[label="",style="solid", color="burlywood", weight=3]; 6762[label="vuz1230/Zero",fontsize=10,color="white",style="solid",shape="box"];4992 -> 6762[label="",style="solid", color="burlywood", weight=9]; 6762 -> 5000[label="",style="solid", color="burlywood", weight=3]; 540 -> 513[label="",style="dashed", color="red", weight=0]; 540[label="primPlusNat vuz3700 vuz301000",fontsize=16,color="magenta"];540 -> 549[label="",style="dashed", color="magenta", weight=3]; 540 -> 550[label="",style="dashed", color="magenta", weight=3]; 3920[label="primQuotInt (primMulInt (Pos vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Pos vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3920 -> 3931[label="",style="solid", color="black", weight=3]; 3921[label="primQuotInt (primMulInt (Pos vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Neg vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3921 -> 3932[label="",style="solid", color="black", weight=3]; 3922[label="primQuotInt (primMulInt (Neg vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Pos vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3922 -> 3933[label="",style="solid", color="black", weight=3]; 3923[label="primQuotInt (primMulInt (Neg vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Neg vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3923 -> 3934[label="",style="solid", color="black", weight=3]; 6174[label="gcd3 (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6174 -> 6186[label="",style="solid", color="black", weight=3]; 6175[label="primQuotInt (Pos vuz27) (Pos (Succ vuz16600))",fontsize=16,color="black",shape="box"];6175 -> 6187[label="",style="solid", color="black", weight=3]; 6176[label="primQuotInt (Pos vuz27) (Pos Zero)",fontsize=16,color="black",shape="box"];6176 -> 6188[label="",style="solid", color="black", weight=3]; 6177[label="primQuotInt (Pos vuz27) (Neg (Succ vuz16600))",fontsize=16,color="black",shape="box"];6177 -> 6189[label="",style="solid", color="black", weight=3]; 6178[label="primQuotInt (Pos vuz27) (Neg Zero)",fontsize=16,color="black",shape="box"];6178 -> 6190[label="",style="solid", color="black", weight=3]; 3925 -> 11[label="",style="dashed", color="red", weight=0]; 3925[label="((*) (vuz103 :% vuz89) vuz310 `seq` foldl' (*) ((*) (vuz103 :% vuz89) vuz310))",fontsize=16,color="magenta"];3925 -> 3936[label="",style="dashed", color="magenta", weight=3]; 3925 -> 3937[label="",style="dashed", color="magenta", weight=3]; 3925 -> 3938[label="",style="dashed", color="magenta", weight=3]; 3925 -> 3939[label="",style="dashed", color="magenta", weight=3]; 3926[label="primQuotInt (primMulInt (Pos vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Pos vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3926 -> 3940[label="",style="solid", color="black", weight=3]; 3927[label="primQuotInt (primMulInt (Pos vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Neg vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3927 -> 3941[label="",style="solid", color="black", weight=3]; 3928[label="primQuotInt (primMulInt (Neg vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Pos vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3928 -> 3942[label="",style="solid", color="black", weight=3]; 3929[label="primQuotInt (primMulInt (Neg vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Neg vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3929 -> 3943[label="",style="solid", color="black", weight=3]; 4996[label="gcd3 (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4996 -> 5008[label="",style="solid", color="black", weight=3]; 4997[label="primQuotInt (Neg vuz122) (Pos (Succ vuz12300))",fontsize=16,color="black",shape="box"];4997 -> 5009[label="",style="solid", color="black", weight=3]; 4998[label="primQuotInt (Neg vuz122) (Pos Zero)",fontsize=16,color="black",shape="box"];4998 -> 5010[label="",style="solid", color="black", weight=3]; 4999[label="primQuotInt (Neg vuz122) (Neg (Succ vuz12300))",fontsize=16,color="black",shape="box"];4999 -> 5011[label="",style="solid", color="black", weight=3]; 5000[label="primQuotInt (Neg vuz122) (Neg Zero)",fontsize=16,color="black",shape="box"];5000 -> 5012[label="",style="solid", color="black", weight=3]; 549[label="vuz301000",fontsize=16,color="green",shape="box"];550[label="vuz3700",fontsize=16,color="green",shape="box"];3931 -> 5758[label="",style="dashed", color="red", weight=0]; 3931[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3931 -> 5763[label="",style="dashed", color="magenta", weight=3]; 3931 -> 5764[label="",style="dashed", color="magenta", weight=3]; 3932 -> 4543[label="",style="dashed", color="red", weight=0]; 3932[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3932 -> 4552[label="",style="dashed", color="magenta", weight=3]; 3932 -> 4553[label="",style="dashed", color="magenta", weight=3]; 3933 -> 4543[label="",style="dashed", color="red", weight=0]; 3933[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3933 -> 4554[label="",style="dashed", color="magenta", weight=3]; 3933 -> 4555[label="",style="dashed", color="magenta", weight=3]; 3934 -> 5758[label="",style="dashed", color="red", weight=0]; 3934[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3934 -> 5765[label="",style="dashed", color="magenta", weight=3]; 3934 -> 5766[label="",style="dashed", color="magenta", weight=3]; 6186[label="gcd2 (vuz40 * vuz300 == fromInt (Pos Zero)) (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6186 -> 6215[label="",style="solid", color="black", weight=3]; 6187[label="Pos (primDivNatS vuz27 (Succ vuz16600))",fontsize=16,color="green",shape="box"];6187 -> 6216[label="",style="dashed", color="green", weight=3]; 6188 -> 5010[label="",style="dashed", color="red", weight=0]; 6188[label="error []",fontsize=16,color="magenta"];6189[label="Neg (primDivNatS vuz27 (Succ vuz16600))",fontsize=16,color="green",shape="box"];6189 -> 6217[label="",style="dashed", color="green", weight=3]; 6190 -> 5010[label="",style="dashed", color="red", weight=0]; 6190[label="error []",fontsize=16,color="magenta"];3936[label="vuz311",fontsize=16,color="green",shape="box"];3937[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3938[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3939[label="vuz310",fontsize=16,color="green",shape="box"];3940 -> 5758[label="",style="dashed", color="red", weight=0]; 3940[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3940 -> 5768[label="",style="dashed", color="magenta", weight=3]; 3940 -> 5769[label="",style="dashed", color="magenta", weight=3]; 3941 -> 4543[label="",style="dashed", color="red", weight=0]; 3941[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3941 -> 4556[label="",style="dashed", color="magenta", weight=3]; 3941 -> 4557[label="",style="dashed", color="magenta", weight=3]; 3942 -> 4543[label="",style="dashed", color="red", weight=0]; 3942[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3942 -> 4558[label="",style="dashed", color="magenta", weight=3]; 3942 -> 4559[label="",style="dashed", color="magenta", weight=3]; 3943 -> 5758[label="",style="dashed", color="red", weight=0]; 3943[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3943 -> 5770[label="",style="dashed", color="magenta", weight=3]; 3943 -> 5771[label="",style="dashed", color="magenta", weight=3]; 5008[label="gcd2 (vuz40 * vuz300 == fromInt (Pos Zero)) (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];5008 -> 5033[label="",style="solid", color="black", weight=3]; 5009[label="Neg (primDivNatS vuz122 (Succ vuz12300))",fontsize=16,color="green",shape="box"];5009 -> 5034[label="",style="dashed", color="green", weight=3]; 5010[label="error []",fontsize=16,color="black",shape="triangle"];5010 -> 5035[label="",style="solid", color="black", weight=3]; 5011[label="Pos (primDivNatS vuz122 (Succ vuz12300))",fontsize=16,color="green",shape="box"];5011 -> 5036[label="",style="dashed", color="green", weight=3]; 5012 -> 5010[label="",style="dashed", color="red", weight=0]; 5012[label="error []",fontsize=16,color="magenta"];5763 -> 6171[label="",style="dashed", color="red", weight=0]; 5763[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];5763 -> 6172[label="",style="dashed", color="magenta", weight=3]; 5764 -> 305[label="",style="dashed", color="red", weight=0]; 5764[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5764 -> 6179[label="",style="dashed", color="magenta", weight=3]; 5764 -> 6180[label="",style="dashed", color="magenta", weight=3]; 4552 -> 4993[label="",style="dashed", color="red", weight=0]; 4552[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];4552 -> 4994[label="",style="dashed", color="magenta", weight=3]; 4553 -> 305[label="",style="dashed", color="red", weight=0]; 4553[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4553 -> 5001[label="",style="dashed", color="magenta", weight=3]; 4553 -> 5002[label="",style="dashed", color="magenta", weight=3]; 4554 -> 4993[label="",style="dashed", color="red", weight=0]; 4554[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];4554 -> 4995[label="",style="dashed", color="magenta", weight=3]; 4555 -> 305[label="",style="dashed", color="red", weight=0]; 4555[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4555 -> 5003[label="",style="dashed", color="magenta", weight=3]; 4555 -> 5004[label="",style="dashed", color="magenta", weight=3]; 5765 -> 6171[label="",style="dashed", color="red", weight=0]; 5765[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];5765 -> 6173[label="",style="dashed", color="magenta", weight=3]; 5766 -> 305[label="",style="dashed", color="red", weight=0]; 5766[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5766 -> 6181[label="",style="dashed", color="magenta", weight=3]; 5766 -> 6182[label="",style="dashed", color="magenta", weight=3]; 6215[label="gcd2 (primEqInt (vuz40 * vuz300) (fromInt (Pos Zero))) (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6215 -> 6231[label="",style="solid", color="black", weight=3]; 6216 -> 5034[label="",style="dashed", color="red", weight=0]; 6216[label="primDivNatS vuz27 (Succ vuz16600)",fontsize=16,color="magenta"];6216 -> 6232[label="",style="dashed", color="magenta", weight=3]; 6216 -> 6233[label="",style="dashed", color="magenta", weight=3]; 6217 -> 5034[label="",style="dashed", color="red", weight=0]; 6217[label="primDivNatS vuz27 (Succ vuz16600)",fontsize=16,color="magenta"];6217 -> 6234[label="",style="dashed", color="magenta", weight=3]; 6217 -> 6235[label="",style="dashed", color="magenta", weight=3]; 5768 -> 6183[label="",style="dashed", color="red", weight=0]; 5768[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5768 -> 6184[label="",style="dashed", color="magenta", weight=3]; 5769 -> 305[label="",style="dashed", color="red", weight=0]; 5769[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5769 -> 6191[label="",style="dashed", color="magenta", weight=3]; 5769 -> 6192[label="",style="dashed", color="magenta", weight=3]; 4556 -> 5005[label="",style="dashed", color="red", weight=0]; 4556[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];4556 -> 5006[label="",style="dashed", color="magenta", weight=3]; 4557 -> 305[label="",style="dashed", color="red", weight=0]; 4557[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4557 -> 5013[label="",style="dashed", color="magenta", weight=3]; 4557 -> 5014[label="",style="dashed", color="magenta", weight=3]; 4558 -> 5005[label="",style="dashed", color="red", weight=0]; 4558[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];4558 -> 5007[label="",style="dashed", color="magenta", weight=3]; 4559 -> 305[label="",style="dashed", color="red", weight=0]; 4559[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4559 -> 5015[label="",style="dashed", color="magenta", weight=3]; 4559 -> 5016[label="",style="dashed", color="magenta", weight=3]; 5770 -> 6183[label="",style="dashed", color="red", weight=0]; 5770[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5770 -> 6185[label="",style="dashed", color="magenta", weight=3]; 5771 -> 305[label="",style="dashed", color="red", weight=0]; 5771[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5771 -> 6193[label="",style="dashed", color="magenta", weight=3]; 5771 -> 6194[label="",style="dashed", color="magenta", weight=3]; 5033[label="gcd2 (primEqInt (vuz40 * vuz300) (fromInt (Pos Zero))) (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];5033 -> 5047[label="",style="solid", color="black", weight=3]; 5034[label="primDivNatS vuz122 (Succ vuz12300)",fontsize=16,color="burlywood",shape="triangle"];6763[label="vuz122/Succ vuz1220",fontsize=10,color="white",style="solid",shape="box"];5034 -> 6763[label="",style="solid", color="burlywood", weight=9]; 6763 -> 5048[label="",style="solid", color="burlywood", weight=3]; 6764[label="vuz122/Zero",fontsize=10,color="white",style="solid",shape="box"];5034 -> 6764[label="",style="solid", color="burlywood", weight=9]; 6764 -> 5049[label="",style="solid", color="burlywood", weight=3]; 5035[label="error []",fontsize=16,color="red",shape="box"];5036 -> 5034[label="",style="dashed", color="red", weight=0]; 5036[label="primDivNatS vuz122 (Succ vuz12300)",fontsize=16,color="magenta"];5036 -> 5050[label="",style="dashed", color="magenta", weight=3]; 6172 -> 305[label="",style="dashed", color="red", weight=0]; 6172[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6172 -> 6195[label="",style="dashed", color="magenta", weight=3]; 6172 -> 6196[label="",style="dashed", color="magenta", weight=3]; 6171[label="reduce2D (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];6171 -> 6197[label="",style="solid", color="black", weight=3]; 6179[label="vuz400",fontsize=16,color="green",shape="box"];6180[label="vuz3000",fontsize=16,color="green",shape="box"];4994 -> 305[label="",style="dashed", color="red", weight=0]; 4994[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4994 -> 5017[label="",style="dashed", color="magenta", weight=3]; 4994 -> 5018[label="",style="dashed", color="magenta", weight=3]; 4993[label="reduce2D (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];4993 -> 5019[label="",style="solid", color="black", weight=3]; 5001[label="vuz400",fontsize=16,color="green",shape="box"];5002[label="vuz3000",fontsize=16,color="green",shape="box"];4995 -> 305[label="",style="dashed", color="red", weight=0]; 4995[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4995 -> 5020[label="",style="dashed", color="magenta", weight=3]; 4995 -> 5021[label="",style="dashed", color="magenta", weight=3]; 5003[label="vuz400",fontsize=16,color="green",shape="box"];5004[label="vuz3000",fontsize=16,color="green",shape="box"];6173 -> 305[label="",style="dashed", color="red", weight=0]; 6173[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6173 -> 6198[label="",style="dashed", color="magenta", weight=3]; 6173 -> 6199[label="",style="dashed", color="magenta", weight=3]; 6181[label="vuz400",fontsize=16,color="green",shape="box"];6182[label="vuz3000",fontsize=16,color="green",shape="box"];6231[label="gcd2 (primEqInt (primMulInt vuz40 vuz300) (fromInt (Pos Zero))) (primMulInt vuz40 vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6765[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];6231 -> 6765[label="",style="solid", color="burlywood", weight=9]; 6765 -> 6247[label="",style="solid", color="burlywood", weight=3]; 6766[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];6231 -> 6766[label="",style="solid", color="burlywood", weight=9]; 6766 -> 6248[label="",style="solid", color="burlywood", weight=3]; 6232[label="vuz16600",fontsize=16,color="green",shape="box"];6233[label="vuz27",fontsize=16,color="green",shape="box"];6234[label="vuz16600",fontsize=16,color="green",shape="box"];6235[label="vuz27",fontsize=16,color="green",shape="box"];6184 -> 305[label="",style="dashed", color="red", weight=0]; 6184[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6184 -> 6200[label="",style="dashed", color="magenta", weight=3]; 6184 -> 6201[label="",style="dashed", color="magenta", weight=3]; 6183[label="reduce2D (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];6183 -> 6202[label="",style="solid", color="black", weight=3]; 6191[label="vuz400",fontsize=16,color="green",shape="box"];6192[label="vuz3000",fontsize=16,color="green",shape="box"];5006 -> 305[label="",style="dashed", color="red", weight=0]; 5006[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5006 -> 5022[label="",style="dashed", color="magenta", weight=3]; 5006 -> 5023[label="",style="dashed", color="magenta", weight=3]; 5005[label="reduce2D (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];5005 -> 5024[label="",style="solid", color="black", weight=3]; 5013[label="vuz400",fontsize=16,color="green",shape="box"];5014[label="vuz3000",fontsize=16,color="green",shape="box"];5007 -> 305[label="",style="dashed", color="red", weight=0]; 5007[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5007 -> 5025[label="",style="dashed", color="magenta", weight=3]; 5007 -> 5026[label="",style="dashed", color="magenta", weight=3]; 5015[label="vuz400",fontsize=16,color="green",shape="box"];5016[label="vuz3000",fontsize=16,color="green",shape="box"];6185 -> 305[label="",style="dashed", color="red", weight=0]; 6185[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6185 -> 6203[label="",style="dashed", color="magenta", weight=3]; 6185 -> 6204[label="",style="dashed", color="magenta", weight=3]; 6193[label="vuz400",fontsize=16,color="green",shape="box"];6194[label="vuz3000",fontsize=16,color="green",shape="box"];5047[label="gcd2 (primEqInt (primMulInt vuz40 vuz300) (fromInt (Pos Zero))) (primMulInt vuz40 vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6767[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];5047 -> 6767[label="",style="solid", color="burlywood", weight=9]; 6767 -> 5059[label="",style="solid", color="burlywood", weight=3]; 6768[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];5047 -> 6768[label="",style="solid", color="burlywood", weight=9]; 6768 -> 5060[label="",style="solid", color="burlywood", weight=3]; 5048[label="primDivNatS (Succ vuz1220) (Succ vuz12300)",fontsize=16,color="black",shape="box"];5048 -> 5061[label="",style="solid", color="black", weight=3]; 5049[label="primDivNatS Zero (Succ vuz12300)",fontsize=16,color="black",shape="box"];5049 -> 5062[label="",style="solid", color="black", weight=3]; 5050[label="vuz12300",fontsize=16,color="green",shape="box"];6195[label="vuz400",fontsize=16,color="green",shape="box"];6196[label="vuz3000",fontsize=16,color="green",shape="box"];6197[label="gcd (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6197 -> 6218[label="",style="solid", color="black", weight=3]; 5017[label="vuz400",fontsize=16,color="green",shape="box"];5018[label="vuz3000",fontsize=16,color="green",shape="box"];5019[label="gcd (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5019 -> 5037[label="",style="solid", color="black", weight=3]; 5020[label="vuz400",fontsize=16,color="green",shape="box"];5021[label="vuz3000",fontsize=16,color="green",shape="box"];6198[label="vuz400",fontsize=16,color="green",shape="box"];6199[label="vuz3000",fontsize=16,color="green",shape="box"];6247[label="gcd2 (primEqInt (primMulInt (Pos vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6769[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];6247 -> 6769[label="",style="solid", color="burlywood", weight=9]; 6769 -> 6258[label="",style="solid", color="burlywood", weight=3]; 6770[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];6247 -> 6770[label="",style="solid", color="burlywood", weight=9]; 6770 -> 6259[label="",style="solid", color="burlywood", weight=3]; 6248[label="gcd2 (primEqInt (primMulInt (Neg vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6771[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];6248 -> 6771[label="",style="solid", color="burlywood", weight=9]; 6771 -> 6260[label="",style="solid", color="burlywood", weight=3]; 6772[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];6248 -> 6772[label="",style="solid", color="burlywood", weight=9]; 6772 -> 6261[label="",style="solid", color="burlywood", weight=3]; 6200[label="vuz400",fontsize=16,color="green",shape="box"];6201[label="vuz3000",fontsize=16,color="green",shape="box"];6202[label="gcd (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6202 -> 6219[label="",style="solid", color="black", weight=3]; 5022[label="vuz400",fontsize=16,color="green",shape="box"];5023[label="vuz3000",fontsize=16,color="green",shape="box"];5024[label="gcd (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5024 -> 5038[label="",style="solid", color="black", weight=3]; 5025[label="vuz400",fontsize=16,color="green",shape="box"];5026[label="vuz3000",fontsize=16,color="green",shape="box"];6203[label="vuz400",fontsize=16,color="green",shape="box"];6204[label="vuz3000",fontsize=16,color="green",shape="box"];5059[label="gcd2 (primEqInt (primMulInt (Pos vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6773[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];5059 -> 6773[label="",style="solid", color="burlywood", weight=9]; 6773 -> 5071[label="",style="solid", color="burlywood", weight=3]; 6774[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];5059 -> 6774[label="",style="solid", color="burlywood", weight=9]; 6774 -> 5072[label="",style="solid", color="burlywood", weight=3]; 5060[label="gcd2 (primEqInt (primMulInt (Neg vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6775[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];5060 -> 6775[label="",style="solid", color="burlywood", weight=9]; 6775 -> 5073[label="",style="solid", color="burlywood", weight=3]; 6776[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];5060 -> 6776[label="",style="solid", color="burlywood", weight=9]; 6776 -> 5074[label="",style="solid", color="burlywood", weight=3]; 5061[label="primDivNatS0 vuz1220 vuz12300 (primGEqNatS vuz1220 vuz12300)",fontsize=16,color="burlywood",shape="box"];6777[label="vuz1220/Succ vuz12200",fontsize=10,color="white",style="solid",shape="box"];5061 -> 6777[label="",style="solid", color="burlywood", weight=9]; 6777 -> 5075[label="",style="solid", color="burlywood", weight=3]; 6778[label="vuz1220/Zero",fontsize=10,color="white",style="solid",shape="box"];5061 -> 6778[label="",style="solid", color="burlywood", weight=9]; 6778 -> 5076[label="",style="solid", color="burlywood", weight=3]; 5062[label="Zero",fontsize=16,color="green",shape="box"];6218[label="gcd3 (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6218 -> 6236[label="",style="solid", color="black", weight=3]; 5037[label="gcd3 (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5037 -> 5051[label="",style="solid", color="black", weight=3]; 6258[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Pos vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6258 -> 6274[label="",style="solid", color="black", weight=3]; 6259[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Neg vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6259 -> 6275[label="",style="solid", color="black", weight=3]; 6260[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Pos vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6260 -> 6276[label="",style="solid", color="black", weight=3]; 6261[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Neg vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6261 -> 6277[label="",style="solid", color="black", weight=3]; 6219[label="gcd3 (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6219 -> 6237[label="",style="solid", color="black", weight=3]; 5038[label="gcd3 (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5038 -> 5052[label="",style="solid", color="black", weight=3]; 5071[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Pos vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5071 -> 5088[label="",style="solid", color="black", weight=3]; 5072[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Neg vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5072 -> 5089[label="",style="solid", color="black", weight=3]; 5073[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Pos vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5073 -> 5090[label="",style="solid", color="black", weight=3]; 5074[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Neg vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5074 -> 5091[label="",style="solid", color="black", weight=3]; 5075[label="primDivNatS0 (Succ vuz12200) vuz12300 (primGEqNatS (Succ vuz12200) vuz12300)",fontsize=16,color="burlywood",shape="box"];6779[label="vuz12300/Succ vuz123000",fontsize=10,color="white",style="solid",shape="box"];5075 -> 6779[label="",style="solid", color="burlywood", weight=9]; 6779 -> 5092[label="",style="solid", color="burlywood", weight=3]; 6780[label="vuz12300/Zero",fontsize=10,color="white",style="solid",shape="box"];5075 -> 6780[label="",style="solid", color="burlywood", weight=9]; 6780 -> 5093[label="",style="solid", color="burlywood", weight=3]; 5076[label="primDivNatS0 Zero vuz12300 (primGEqNatS Zero vuz12300)",fontsize=16,color="burlywood",shape="box"];6781[label="vuz12300/Succ vuz123000",fontsize=10,color="white",style="solid",shape="box"];5076 -> 6781[label="",style="solid", color="burlywood", weight=9]; 6781 -> 5094[label="",style="solid", color="burlywood", weight=3]; 6782[label="vuz12300/Zero",fontsize=10,color="white",style="solid",shape="box"];5076 -> 6782[label="",style="solid", color="burlywood", weight=9]; 6782 -> 5095[label="",style="solid", color="burlywood", weight=3]; 6236[label="gcd2 (Pos vuz167 == fromInt (Pos Zero)) (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6236 -> 6249[label="",style="solid", color="black", weight=3]; 5051[label="gcd2 (Neg vuz124 == fromInt (Pos Zero)) (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5051 -> 5063[label="",style="solid", color="black", weight=3]; 6274 -> 6249[label="",style="dashed", color="red", weight=0]; 6274[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6274 -> 6289[label="",style="dashed", color="magenta", weight=3]; 6275 -> 5063[label="",style="dashed", color="red", weight=0]; 6275[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6275 -> 6290[label="",style="dashed", color="magenta", weight=3]; 6276 -> 5063[label="",style="dashed", color="red", weight=0]; 6276[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6276 -> 6291[label="",style="dashed", color="magenta", weight=3]; 6277 -> 6249[label="",style="dashed", color="red", weight=0]; 6277[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6277 -> 6292[label="",style="dashed", color="magenta", weight=3]; 6237[label="gcd2 (Pos vuz168 == fromInt (Pos Zero)) (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6237 -> 6250[label="",style="solid", color="black", weight=3]; 5052[label="gcd2 (Neg vuz125 == fromInt (Pos Zero)) (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5052 -> 5064[label="",style="solid", color="black", weight=3]; 5088 -> 5105[label="",style="dashed", color="red", weight=0]; 5088[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5088 -> 5106[label="",style="dashed", color="magenta", weight=3]; 5088 -> 5107[label="",style="dashed", color="magenta", weight=3]; 5089 -> 5064[label="",style="dashed", color="red", weight=0]; 5089[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5089 -> 5110[label="",style="dashed", color="magenta", weight=3]; 5090 -> 5064[label="",style="dashed", color="red", weight=0]; 5090[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5090 -> 5111[label="",style="dashed", color="magenta", weight=3]; 5091 -> 5105[label="",style="dashed", color="red", weight=0]; 5091[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5091 -> 5108[label="",style="dashed", color="magenta", weight=3]; 5091 -> 5109[label="",style="dashed", color="magenta", weight=3]; 5092[label="primDivNatS0 (Succ vuz12200) (Succ vuz123000) (primGEqNatS (Succ vuz12200) (Succ vuz123000))",fontsize=16,color="black",shape="box"];5092 -> 5112[label="",style="solid", color="black", weight=3]; 5093[label="primDivNatS0 (Succ vuz12200) Zero (primGEqNatS (Succ vuz12200) Zero)",fontsize=16,color="black",shape="box"];5093 -> 5113[label="",style="solid", color="black", weight=3]; 5094[label="primDivNatS0 Zero (Succ vuz123000) (primGEqNatS Zero (Succ vuz123000))",fontsize=16,color="black",shape="box"];5094 -> 5114[label="",style="solid", color="black", weight=3]; 5095[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];5095 -> 5115[label="",style="solid", color="black", weight=3]; 6249[label="gcd2 (primEqInt (Pos vuz167) (fromInt (Pos Zero))) (Pos vuz167) (Pos vuz28)",fontsize=16,color="burlywood",shape="triangle"];6783[label="vuz167/Succ vuz1670",fontsize=10,color="white",style="solid",shape="box"];6249 -> 6783[label="",style="solid", color="burlywood", weight=9]; 6783 -> 6262[label="",style="solid", color="burlywood", weight=3]; 6784[label="vuz167/Zero",fontsize=10,color="white",style="solid",shape="box"];6249 -> 6784[label="",style="solid", color="burlywood", weight=9]; 6784 -> 6263[label="",style="solid", color="burlywood", weight=3]; 5063[label="gcd2 (primEqInt (Neg vuz124) (fromInt (Pos Zero))) (Neg vuz124) (Pos vuz28)",fontsize=16,color="burlywood",shape="triangle"];6785[label="vuz124/Succ vuz1240",fontsize=10,color="white",style="solid",shape="box"];5063 -> 6785[label="",style="solid", color="burlywood", weight=9]; 6785 -> 5077[label="",style="solid", color="burlywood", weight=3]; 6786[label="vuz124/Zero",fontsize=10,color="white",style="solid",shape="box"];5063 -> 6786[label="",style="solid", color="burlywood", weight=9]; 6786 -> 5078[label="",style="solid", color="burlywood", weight=3]; 6289 -> 305[label="",style="dashed", color="red", weight=0]; 6289[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6289 -> 6305[label="",style="dashed", color="magenta", weight=3]; 6289 -> 6306[label="",style="dashed", color="magenta", weight=3]; 6290 -> 305[label="",style="dashed", color="red", weight=0]; 6290[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6290 -> 6307[label="",style="dashed", color="magenta", weight=3]; 6290 -> 6308[label="",style="dashed", color="magenta", weight=3]; 6291 -> 305[label="",style="dashed", color="red", weight=0]; 6291[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6291 -> 6309[label="",style="dashed", color="magenta", weight=3]; 6291 -> 6310[label="",style="dashed", color="magenta", weight=3]; 6292 -> 305[label="",style="dashed", color="red", weight=0]; 6292[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6292 -> 6311[label="",style="dashed", color="magenta", weight=3]; 6292 -> 6312[label="",style="dashed", color="magenta", weight=3]; 6250 -> 5105[label="",style="dashed", color="red", weight=0]; 6250[label="gcd2 (primEqInt (Pos vuz168) (fromInt (Pos Zero))) (Pos vuz168) (Neg vuz34)",fontsize=16,color="magenta"];6250 -> 6264[label="",style="dashed", color="magenta", weight=3]; 6250 -> 6265[label="",style="dashed", color="magenta", weight=3]; 5064[label="gcd2 (primEqInt (Neg vuz125) (fromInt (Pos Zero))) (Neg vuz125) (Neg vuz34)",fontsize=16,color="burlywood",shape="triangle"];6787[label="vuz125/Succ vuz1250",fontsize=10,color="white",style="solid",shape="box"];5064 -> 6787[label="",style="solid", color="burlywood", weight=9]; 6787 -> 5079[label="",style="solid", color="burlywood", weight=3]; 6788[label="vuz125/Zero",fontsize=10,color="white",style="solid",shape="box"];5064 -> 6788[label="",style="solid", color="burlywood", weight=9]; 6788 -> 5080[label="",style="solid", color="burlywood", weight=3]; 5106 -> 305[label="",style="dashed", color="red", weight=0]; 5106[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5106 -> 5116[label="",style="dashed", color="magenta", weight=3]; 5106 -> 5117[label="",style="dashed", color="magenta", weight=3]; 5107 -> 305[label="",style="dashed", color="red", weight=0]; 5107[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5107 -> 5118[label="",style="dashed", color="magenta", weight=3]; 5107 -> 5119[label="",style="dashed", color="magenta", weight=3]; 5105[label="gcd2 (primEqInt (Pos vuz127) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="burlywood",shape="triangle"];6789[label="vuz127/Succ vuz1270",fontsize=10,color="white",style="solid",shape="box"];5105 -> 6789[label="",style="solid", color="burlywood", weight=9]; 6789 -> 5120[label="",style="solid", color="burlywood", weight=3]; 6790[label="vuz127/Zero",fontsize=10,color="white",style="solid",shape="box"];5105 -> 6790[label="",style="solid", color="burlywood", weight=9]; 6790 -> 5121[label="",style="solid", color="burlywood", weight=3]; 5110 -> 305[label="",style="dashed", color="red", weight=0]; 5110[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5110 -> 5134[label="",style="dashed", color="magenta", weight=3]; 5110 -> 5135[label="",style="dashed", color="magenta", weight=3]; 5111 -> 305[label="",style="dashed", color="red", weight=0]; 5111[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5111 -> 5136[label="",style="dashed", color="magenta", weight=3]; 5111 -> 5137[label="",style="dashed", color="magenta", weight=3]; 5108 -> 305[label="",style="dashed", color="red", weight=0]; 5108[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5108 -> 5122[label="",style="dashed", color="magenta", weight=3]; 5108 -> 5123[label="",style="dashed", color="magenta", weight=3]; 5109 -> 305[label="",style="dashed", color="red", weight=0]; 5109[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5109 -> 5124[label="",style="dashed", color="magenta", weight=3]; 5109 -> 5125[label="",style="dashed", color="magenta", weight=3]; 5112 -> 5709[label="",style="dashed", color="red", weight=0]; 5112[label="primDivNatS0 (Succ vuz12200) (Succ vuz123000) (primGEqNatS vuz12200 vuz123000)",fontsize=16,color="magenta"];5112 -> 5710[label="",style="dashed", color="magenta", weight=3]; 5112 -> 5711[label="",style="dashed", color="magenta", weight=3]; 5112 -> 5712[label="",style="dashed", color="magenta", weight=3]; 5112 -> 5713[label="",style="dashed", color="magenta", weight=3]; 5113[label="primDivNatS0 (Succ vuz12200) Zero True",fontsize=16,color="black",shape="box"];5113 -> 5140[label="",style="solid", color="black", weight=3]; 5114[label="primDivNatS0 Zero (Succ vuz123000) False",fontsize=16,color="black",shape="box"];5114 -> 5141[label="",style="solid", color="black", weight=3]; 5115[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];5115 -> 5142[label="",style="solid", color="black", weight=3]; 6262[label="gcd2 (primEqInt (Pos (Succ vuz1670)) (fromInt (Pos Zero))) (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6262 -> 6278[label="",style="solid", color="black", weight=3]; 6263[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6263 -> 6279[label="",style="solid", color="black", weight=3]; 5077[label="gcd2 (primEqInt (Neg (Succ vuz1240)) (fromInt (Pos Zero))) (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5077 -> 5096[label="",style="solid", color="black", weight=3]; 5078[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5078 -> 5097[label="",style="solid", color="black", weight=3]; 6305[label="vuz400",fontsize=16,color="green",shape="box"];6306[label="vuz3000",fontsize=16,color="green",shape="box"];6307[label="vuz400",fontsize=16,color="green",shape="box"];6308[label="vuz3000",fontsize=16,color="green",shape="box"];6309[label="vuz400",fontsize=16,color="green",shape="box"];6310[label="vuz3000",fontsize=16,color="green",shape="box"];6311[label="vuz400",fontsize=16,color="green",shape="box"];6312[label="vuz3000",fontsize=16,color="green",shape="box"];6264[label="vuz168",fontsize=16,color="green",shape="box"];6265[label="vuz168",fontsize=16,color="green",shape="box"];5079[label="gcd2 (primEqInt (Neg (Succ vuz1250)) (fromInt (Pos Zero))) (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5079 -> 5098[label="",style="solid", color="black", weight=3]; 5080[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5080 -> 5099[label="",style="solid", color="black", weight=3]; 5116[label="vuz400",fontsize=16,color="green",shape="box"];5117[label="vuz3000",fontsize=16,color="green",shape="box"];5118[label="vuz400",fontsize=16,color="green",shape="box"];5119[label="vuz3000",fontsize=16,color="green",shape="box"];5120[label="gcd2 (primEqInt (Pos (Succ vuz1270)) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5120 -> 5143[label="",style="solid", color="black", weight=3]; 5121[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5121 -> 5144[label="",style="solid", color="black", weight=3]; 5134[label="vuz400",fontsize=16,color="green",shape="box"];5135[label="vuz3000",fontsize=16,color="green",shape="box"];5136[label="vuz400",fontsize=16,color="green",shape="box"];5137[label="vuz3000",fontsize=16,color="green",shape="box"];5122[label="vuz400",fontsize=16,color="green",shape="box"];5123[label="vuz3000",fontsize=16,color="green",shape="box"];5124[label="vuz400",fontsize=16,color="green",shape="box"];5125[label="vuz3000",fontsize=16,color="green",shape="box"];5710[label="vuz12200",fontsize=16,color="green",shape="box"];5711[label="vuz12200",fontsize=16,color="green",shape="box"];5712[label="vuz123000",fontsize=16,color="green",shape="box"];5713[label="vuz123000",fontsize=16,color="green",shape="box"];5709[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS vuz164 vuz165)",fontsize=16,color="burlywood",shape="triangle"];6791[label="vuz164/Succ vuz1640",fontsize=10,color="white",style="solid",shape="box"];5709 -> 6791[label="",style="solid", color="burlywood", weight=9]; 6791 -> 5750[label="",style="solid", color="burlywood", weight=3]; 6792[label="vuz164/Zero",fontsize=10,color="white",style="solid",shape="box"];5709 -> 6792[label="",style="solid", color="burlywood", weight=9]; 6792 -> 5751[label="",style="solid", color="burlywood", weight=3]; 5140[label="Succ (primDivNatS (primMinusNatS (Succ vuz12200) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5140 -> 5157[label="",style="dashed", color="green", weight=3]; 5141[label="Zero",fontsize=16,color="green",shape="box"];5142[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5142 -> 5158[label="",style="dashed", color="green", weight=3]; 6278[label="gcd2 (primEqInt (Pos (Succ vuz1670)) (Pos Zero)) (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6278 -> 6293[label="",style="solid", color="black", weight=3]; 6279[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6279 -> 6294[label="",style="solid", color="black", weight=3]; 5096[label="gcd2 (primEqInt (Neg (Succ vuz1240)) (Pos Zero)) (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5096 -> 5126[label="",style="solid", color="black", weight=3]; 5097[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5097 -> 5127[label="",style="solid", color="black", weight=3]; 5098[label="gcd2 (primEqInt (Neg (Succ vuz1250)) (Pos Zero)) (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5098 -> 5128[label="",style="solid", color="black", weight=3]; 5099[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5099 -> 5129[label="",style="solid", color="black", weight=3]; 5143[label="gcd2 (primEqInt (Pos (Succ vuz1270)) (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5143 -> 5159[label="",style="solid", color="black", weight=3]; 5144[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5144 -> 5160[label="",style="solid", color="black", weight=3]; 5750[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) vuz165)",fontsize=16,color="burlywood",shape="box"];6793[label="vuz165/Succ vuz1650",fontsize=10,color="white",style="solid",shape="box"];5750 -> 6793[label="",style="solid", color="burlywood", weight=9]; 6793 -> 6205[label="",style="solid", color="burlywood", weight=3]; 6794[label="vuz165/Zero",fontsize=10,color="white",style="solid",shape="box"];5750 -> 6794[label="",style="solid", color="burlywood", weight=9]; 6794 -> 6206[label="",style="solid", color="burlywood", weight=3]; 5751[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero vuz165)",fontsize=16,color="burlywood",shape="box"];6795[label="vuz165/Succ vuz1650",fontsize=10,color="white",style="solid",shape="box"];5751 -> 6795[label="",style="solid", color="burlywood", weight=9]; 6795 -> 6207[label="",style="solid", color="burlywood", weight=3]; 6796[label="vuz165/Zero",fontsize=10,color="white",style="solid",shape="box"];5751 -> 6796[label="",style="solid", color="burlywood", weight=9]; 6796 -> 6208[label="",style="solid", color="burlywood", weight=3]; 5157 -> 5034[label="",style="dashed", color="red", weight=0]; 5157[label="primDivNatS (primMinusNatS (Succ vuz12200) Zero) (Succ Zero)",fontsize=16,color="magenta"];5157 -> 5173[label="",style="dashed", color="magenta", weight=3]; 5157 -> 5174[label="",style="dashed", color="magenta", weight=3]; 5158 -> 5034[label="",style="dashed", color="red", weight=0]; 5158[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];5158 -> 5175[label="",style="dashed", color="magenta", weight=3]; 5158 -> 5176[label="",style="dashed", color="magenta", weight=3]; 6293[label="gcd2 False (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6293 -> 6313[label="",style="solid", color="black", weight=3]; 6294[label="gcd2 True (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6294 -> 6314[label="",style="solid", color="black", weight=3]; 5126[label="gcd2 False (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5126 -> 5145[label="",style="solid", color="black", weight=3]; 5127[label="gcd2 True (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5127 -> 5146[label="",style="solid", color="black", weight=3]; 5128[label="gcd2 False (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5128 -> 5147[label="",style="solid", color="black", weight=3]; 5129[label="gcd2 True (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5129 -> 5148[label="",style="solid", color="black", weight=3]; 5159[label="gcd2 False (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5159 -> 5177[label="",style="solid", color="black", weight=3]; 5160[label="gcd2 True (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5160 -> 5178[label="",style="solid", color="black", weight=3]; 6205[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) (Succ vuz1650))",fontsize=16,color="black",shape="box"];6205 -> 6220[label="",style="solid", color="black", weight=3]; 6206[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) Zero)",fontsize=16,color="black",shape="box"];6206 -> 6221[label="",style="solid", color="black", weight=3]; 6207[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero (Succ vuz1650))",fontsize=16,color="black",shape="box"];6207 -> 6222[label="",style="solid", color="black", weight=3]; 6208[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6208 -> 6223[label="",style="solid", color="black", weight=3]; 5173[label="Zero",fontsize=16,color="green",shape="box"];5174[label="primMinusNatS (Succ vuz12200) Zero",fontsize=16,color="black",shape="triangle"];5174 -> 5194[label="",style="solid", color="black", weight=3]; 5175[label="Zero",fontsize=16,color="green",shape="box"];5176[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];5176 -> 5195[label="",style="solid", color="black", weight=3]; 6313[label="gcd0 (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6313 -> 6329[label="",style="solid", color="black", weight=3]; 6314[label="gcd1 (Pos vuz28 == fromInt (Pos Zero)) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6314 -> 6330[label="",style="solid", color="black", weight=3]; 5145[label="gcd0 (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5145 -> 5161[label="",style="solid", color="black", weight=3]; 5146[label="gcd1 (Pos vuz28 == fromInt (Pos Zero)) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5146 -> 5162[label="",style="solid", color="black", weight=3]; 5147[label="gcd0 (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5147 -> 5163[label="",style="solid", color="black", weight=3]; 5148[label="gcd1 (Neg vuz34 == fromInt (Pos Zero)) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5148 -> 5164[label="",style="solid", color="black", weight=3]; 5177[label="gcd0 (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];5177 -> 5196[label="",style="solid", color="black", weight=3]; 5178[label="gcd1 (Neg vuz34 == fromInt (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5178 -> 5197[label="",style="solid", color="black", weight=3]; 6220 -> 5709[label="",style="dashed", color="red", weight=0]; 6220[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS vuz1640 vuz1650)",fontsize=16,color="magenta"];6220 -> 6238[label="",style="dashed", color="magenta", weight=3]; 6220 -> 6239[label="",style="dashed", color="magenta", weight=3]; 6221[label="primDivNatS0 (Succ vuz162) (Succ vuz163) True",fontsize=16,color="black",shape="triangle"];6221 -> 6240[label="",style="solid", color="black", weight=3]; 6222[label="primDivNatS0 (Succ vuz162) (Succ vuz163) False",fontsize=16,color="black",shape="box"];6222 -> 6241[label="",style="solid", color="black", weight=3]; 6223 -> 6221[label="",style="dashed", color="red", weight=0]; 6223[label="primDivNatS0 (Succ vuz162) (Succ vuz163) True",fontsize=16,color="magenta"];5194[label="Succ vuz12200",fontsize=16,color="green",shape="box"];5195[label="Zero",fontsize=16,color="green",shape="box"];6329 -> 6348[label="",style="dashed", color="red", weight=0]; 6329[label="gcd0Gcd' (abs (Pos (Succ vuz1670))) (abs (Pos vuz28))",fontsize=16,color="magenta"];6329 -> 6349[label="",style="dashed", color="magenta", weight=3]; 6329 -> 6350[label="",style="dashed", color="magenta", weight=3]; 6330[label="gcd1 (primEqInt (Pos vuz28) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6797[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];6330 -> 6797[label="",style="solid", color="burlywood", weight=9]; 6797 -> 6363[label="",style="solid", color="burlywood", weight=3]; 6798[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];6330 -> 6798[label="",style="solid", color="burlywood", weight=9]; 6798 -> 6364[label="",style="solid", color="burlywood", weight=3]; 5161 -> 6348[label="",style="dashed", color="red", weight=0]; 5161[label="gcd0Gcd' (abs (Neg (Succ vuz1240))) (abs (Pos vuz28))",fontsize=16,color="magenta"];5161 -> 6351[label="",style="dashed", color="magenta", weight=3]; 5161 -> 6352[label="",style="dashed", color="magenta", weight=3]; 5162[label="gcd1 (primEqInt (Pos vuz28) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6799[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];5162 -> 6799[label="",style="solid", color="burlywood", weight=9]; 6799 -> 5180[label="",style="solid", color="burlywood", weight=3]; 6800[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];5162 -> 6800[label="",style="solid", color="burlywood", weight=9]; 6800 -> 5181[label="",style="solid", color="burlywood", weight=3]; 5163 -> 6348[label="",style="dashed", color="red", weight=0]; 5163[label="gcd0Gcd' (abs (Neg (Succ vuz1250))) (abs (Neg vuz34))",fontsize=16,color="magenta"];5163 -> 6353[label="",style="dashed", color="magenta", weight=3]; 5163 -> 6354[label="",style="dashed", color="magenta", weight=3]; 5164[label="gcd1 (primEqInt (Neg vuz34) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6801[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];5164 -> 6801[label="",style="solid", color="burlywood", weight=9]; 6801 -> 5183[label="",style="solid", color="burlywood", weight=3]; 6802[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];5164 -> 6802[label="",style="solid", color="burlywood", weight=9]; 6802 -> 5184[label="",style="solid", color="burlywood", weight=3]; 5196 -> 6348[label="",style="dashed", color="red", weight=0]; 5196[label="gcd0Gcd' (abs (Pos vuz126)) (abs (Neg vuz34))",fontsize=16,color="magenta"];5196 -> 6355[label="",style="dashed", color="magenta", weight=3]; 5196 -> 6356[label="",style="dashed", color="magenta", weight=3]; 5197[label="gcd1 (primEqInt (Neg vuz34) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6803[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];5197 -> 6803[label="",style="solid", color="burlywood", weight=9]; 6803 -> 5216[label="",style="solid", color="burlywood", weight=3]; 6804[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];5197 -> 6804[label="",style="solid", color="burlywood", weight=9]; 6804 -> 5217[label="",style="solid", color="burlywood", weight=3]; 6238[label="vuz1640",fontsize=16,color="green",shape="box"];6239[label="vuz1650",fontsize=16,color="green",shape="box"];6240[label="Succ (primDivNatS (primMinusNatS (Succ vuz162) (Succ vuz163)) (Succ (Succ vuz163)))",fontsize=16,color="green",shape="box"];6240 -> 6251[label="",style="dashed", color="green", weight=3]; 6241[label="Zero",fontsize=16,color="green",shape="box"];6349[label="abs (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6349 -> 6365[label="",style="solid", color="black", weight=3]; 6350[label="abs (Pos vuz28)",fontsize=16,color="black",shape="triangle"];6350 -> 6366[label="",style="solid", color="black", weight=3]; 6348[label="gcd0Gcd' vuz170 vuz169",fontsize=16,color="black",shape="triangle"];6348 -> 6367[label="",style="solid", color="black", weight=3]; 6363[label="gcd1 (primEqInt (Pos (Succ vuz280)) (fromInt (Pos Zero))) (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6363 -> 6378[label="",style="solid", color="black", weight=3]; 6364[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6364 -> 6379[label="",style="solid", color="black", weight=3]; 6351[label="abs (Neg (Succ vuz1240))",fontsize=16,color="black",shape="triangle"];6351 -> 6368[label="",style="solid", color="black", weight=3]; 6352 -> 6350[label="",style="dashed", color="red", weight=0]; 6352[label="abs (Pos vuz28)",fontsize=16,color="magenta"];5180[label="gcd1 (primEqInt (Pos (Succ vuz280)) (fromInt (Pos Zero))) (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5180 -> 5199[label="",style="solid", color="black", weight=3]; 5181[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5181 -> 5200[label="",style="solid", color="black", weight=3]; 6353 -> 6351[label="",style="dashed", color="red", weight=0]; 6353[label="abs (Neg (Succ vuz1250))",fontsize=16,color="magenta"];6353 -> 6369[label="",style="dashed", color="magenta", weight=3]; 6354[label="abs (Neg vuz34)",fontsize=16,color="black",shape="triangle"];6354 -> 6370[label="",style="solid", color="black", weight=3]; 5183[label="gcd1 (primEqInt (Neg (Succ vuz340)) (fromInt (Pos Zero))) (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5183 -> 5202[label="",style="solid", color="black", weight=3]; 5184[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5184 -> 5203[label="",style="solid", color="black", weight=3]; 6355 -> 6350[label="",style="dashed", color="red", weight=0]; 6355[label="abs (Pos vuz126)",fontsize=16,color="magenta"];6355 -> 6371[label="",style="dashed", color="magenta", weight=3]; 6356 -> 6354[label="",style="dashed", color="red", weight=0]; 6356[label="abs (Neg vuz34)",fontsize=16,color="magenta"];5216[label="gcd1 (primEqInt (Neg (Succ vuz340)) (fromInt (Pos Zero))) (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5216 -> 5240[label="",style="solid", color="black", weight=3]; 5217[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5217 -> 5241[label="",style="solid", color="black", weight=3]; 6251 -> 5034[label="",style="dashed", color="red", weight=0]; 6251[label="primDivNatS (primMinusNatS (Succ vuz162) (Succ vuz163)) (Succ (Succ vuz163))",fontsize=16,color="magenta"];6251 -> 6266[label="",style="dashed", color="magenta", weight=3]; 6251 -> 6267[label="",style="dashed", color="magenta", weight=3]; 6365[label="absReal (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6365 -> 6380[label="",style="solid", color="black", weight=3]; 6366[label="absReal (Pos vuz28)",fontsize=16,color="black",shape="box"];6366 -> 6381[label="",style="solid", color="black", weight=3]; 6367[label="gcd0Gcd'2 vuz170 vuz169",fontsize=16,color="black",shape="box"];6367 -> 6382[label="",style="solid", color="black", weight=3]; 6378[label="gcd1 (primEqInt (Pos (Succ vuz280)) (Pos Zero)) (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6378 -> 6385[label="",style="solid", color="black", weight=3]; 6379[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6379 -> 6386[label="",style="solid", color="black", weight=3]; 6368[label="absReal (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6368 -> 6383[label="",style="solid", color="black", weight=3]; 5199[label="gcd1 (primEqInt (Pos (Succ vuz280)) (Pos Zero)) (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5199 -> 5219[label="",style="solid", color="black", weight=3]; 5200[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5200 -> 5220[label="",style="solid", color="black", weight=3]; 6369[label="vuz1250",fontsize=16,color="green",shape="box"];6370[label="absReal (Neg vuz34)",fontsize=16,color="black",shape="box"];6370 -> 6384[label="",style="solid", color="black", weight=3]; 5202[label="gcd1 (primEqInt (Neg (Succ vuz340)) (Pos Zero)) (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5202 -> 5222[label="",style="solid", color="black", weight=3]; 5203[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5203 -> 5223[label="",style="solid", color="black", weight=3]; 6371[label="vuz126",fontsize=16,color="green",shape="box"];5240[label="gcd1 (primEqInt (Neg (Succ vuz340)) (Pos Zero)) (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5240 -> 5262[label="",style="solid", color="black", weight=3]; 5241[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5241 -> 5263[label="",style="solid", color="black", weight=3]; 6266[label="Succ vuz163",fontsize=16,color="green",shape="box"];6267[label="primMinusNatS (Succ vuz162) (Succ vuz163)",fontsize=16,color="black",shape="box"];6267 -> 6280[label="",style="solid", color="black", weight=3]; 6380[label="absReal2 (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6380 -> 6387[label="",style="solid", color="black", weight=3]; 6381[label="absReal2 (Pos vuz28)",fontsize=16,color="black",shape="box"];6381 -> 6388[label="",style="solid", color="black", weight=3]; 6382[label="gcd0Gcd'1 (vuz169 == fromInt (Pos Zero)) vuz170 vuz169",fontsize=16,color="black",shape="box"];6382 -> 6389[label="",style="solid", color="black", weight=3]; 6385[label="gcd1 False (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6385 -> 6392[label="",style="solid", color="black", weight=3]; 6386[label="gcd1 True (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6386 -> 6393[label="",style="solid", color="black", weight=3]; 6383[label="absReal2 (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6383 -> 6390[label="",style="solid", color="black", weight=3]; 5219[label="gcd1 False (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5219 -> 5243[label="",style="solid", color="black", weight=3]; 5220[label="gcd1 True (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5220 -> 5244[label="",style="solid", color="black", weight=3]; 6384[label="absReal2 (Neg vuz34)",fontsize=16,color="black",shape="box"];6384 -> 6391[label="",style="solid", color="black", weight=3]; 5222[label="gcd1 False (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5222 -> 5246[label="",style="solid", color="black", weight=3]; 5223[label="gcd1 True (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5223 -> 5247[label="",style="solid", color="black", weight=3]; 5262[label="gcd1 False (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5262 -> 5281[label="",style="solid", color="black", weight=3]; 5263[label="gcd1 True (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5263 -> 5282[label="",style="solid", color="black", weight=3]; 6280[label="primMinusNatS vuz162 vuz163",fontsize=16,color="burlywood",shape="triangle"];6805[label="vuz162/Succ vuz1620",fontsize=10,color="white",style="solid",shape="box"];6280 -> 6805[label="",style="solid", color="burlywood", weight=9]; 6805 -> 6295[label="",style="solid", color="burlywood", weight=3]; 6806[label="vuz162/Zero",fontsize=10,color="white",style="solid",shape="box"];6280 -> 6806[label="",style="solid", color="burlywood", weight=9]; 6806 -> 6296[label="",style="solid", color="burlywood", weight=3]; 6387[label="absReal1 (Pos (Succ vuz1670)) (Pos (Succ vuz1670) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6387 -> 6394[label="",style="solid", color="black", weight=3]; 6388[label="absReal1 (Pos vuz28) (Pos vuz28 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6388 -> 6395[label="",style="solid", color="black", weight=3]; 6389[label="gcd0Gcd'1 (primEqInt vuz169 (fromInt (Pos Zero))) vuz170 vuz169",fontsize=16,color="burlywood",shape="box"];6807[label="vuz169/Pos vuz1690",fontsize=10,color="white",style="solid",shape="box"];6389 -> 6807[label="",style="solid", color="burlywood", weight=9]; 6807 -> 6396[label="",style="solid", color="burlywood", weight=3]; 6808[label="vuz169/Neg vuz1690",fontsize=10,color="white",style="solid",shape="box"];6389 -> 6808[label="",style="solid", color="burlywood", weight=9]; 6808 -> 6397[label="",style="solid", color="burlywood", weight=3]; 6392[label="gcd0 (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6392 -> 6400[label="",style="solid", color="black", weight=3]; 6393 -> 5010[label="",style="dashed", color="red", weight=0]; 6393[label="error []",fontsize=16,color="magenta"];6390[label="absReal1 (Neg (Succ vuz1240)) (Neg (Succ vuz1240) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6390 -> 6398[label="",style="solid", color="black", weight=3]; 5243[label="gcd0 (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5243 -> 5265[label="",style="solid", color="black", weight=3]; 5244 -> 5010[label="",style="dashed", color="red", weight=0]; 5244[label="error []",fontsize=16,color="magenta"];6391[label="absReal1 (Neg vuz34) (Neg vuz34 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6391 -> 6399[label="",style="solid", color="black", weight=3]; 5246[label="gcd0 (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5246 -> 5267[label="",style="solid", color="black", weight=3]; 5247 -> 5010[label="",style="dashed", color="red", weight=0]; 5247[label="error []",fontsize=16,color="magenta"];5281 -> 5177[label="",style="dashed", color="red", weight=0]; 5281[label="gcd0 (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="magenta"];5281 -> 5305[label="",style="dashed", color="magenta", weight=3]; 5282 -> 5010[label="",style="dashed", color="red", weight=0]; 5282[label="error []",fontsize=16,color="magenta"];6295[label="primMinusNatS (Succ vuz1620) vuz163",fontsize=16,color="burlywood",shape="box"];6809[label="vuz163/Succ vuz1630",fontsize=10,color="white",style="solid",shape="box"];6295 -> 6809[label="",style="solid", color="burlywood", weight=9]; 6809 -> 6315[label="",style="solid", color="burlywood", weight=3]; 6810[label="vuz163/Zero",fontsize=10,color="white",style="solid",shape="box"];6295 -> 6810[label="",style="solid", color="burlywood", weight=9]; 6810 -> 6316[label="",style="solid", color="burlywood", weight=3]; 6296[label="primMinusNatS Zero vuz163",fontsize=16,color="burlywood",shape="box"];6811[label="vuz163/Succ vuz1630",fontsize=10,color="white",style="solid",shape="box"];6296 -> 6811[label="",style="solid", color="burlywood", weight=9]; 6811 -> 6317[label="",style="solid", color="burlywood", weight=3]; 6812[label="vuz163/Zero",fontsize=10,color="white",style="solid",shape="box"];6296 -> 6812[label="",style="solid", color="burlywood", weight=9]; 6812 -> 6318[label="",style="solid", color="burlywood", weight=3]; 6394[label="absReal1 (Pos (Succ vuz1670)) (compare (Pos (Succ vuz1670)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6394 -> 6401[label="",style="solid", color="black", weight=3]; 6395[label="absReal1 (Pos vuz28) (compare (Pos vuz28) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6395 -> 6402[label="",style="solid", color="black", weight=3]; 6396[label="gcd0Gcd'1 (primEqInt (Pos vuz1690) (fromInt (Pos Zero))) vuz170 (Pos vuz1690)",fontsize=16,color="burlywood",shape="box"];6813[label="vuz1690/Succ vuz16900",fontsize=10,color="white",style="solid",shape="box"];6396 -> 6813[label="",style="solid", color="burlywood", weight=9]; 6813 -> 6403[label="",style="solid", color="burlywood", weight=3]; 6814[label="vuz1690/Zero",fontsize=10,color="white",style="solid",shape="box"];6396 -> 6814[label="",style="solid", color="burlywood", weight=9]; 6814 -> 6404[label="",style="solid", color="burlywood", weight=3]; 6397[label="gcd0Gcd'1 (primEqInt (Neg vuz1690) (fromInt (Pos Zero))) vuz170 (Neg vuz1690)",fontsize=16,color="burlywood",shape="box"];6815[label="vuz1690/Succ vuz16900",fontsize=10,color="white",style="solid",shape="box"];6397 -> 6815[label="",style="solid", color="burlywood", weight=9]; 6815 -> 6405[label="",style="solid", color="burlywood", weight=3]; 6816[label="vuz1690/Zero",fontsize=10,color="white",style="solid",shape="box"];6397 -> 6816[label="",style="solid", color="burlywood", weight=9]; 6816 -> 6406[label="",style="solid", color="burlywood", weight=3]; 6400 -> 6348[label="",style="dashed", color="red", weight=0]; 6400[label="gcd0Gcd' (abs (Pos Zero)) (abs (Pos (Succ vuz280)))",fontsize=16,color="magenta"];6400 -> 6409[label="",style="dashed", color="magenta", weight=3]; 6400 -> 6410[label="",style="dashed", color="magenta", weight=3]; 6398[label="absReal1 (Neg (Succ vuz1240)) (compare (Neg (Succ vuz1240)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6398 -> 6407[label="",style="solid", color="black", weight=3]; 5265 -> 6348[label="",style="dashed", color="red", weight=0]; 5265[label="gcd0Gcd' (abs (Neg Zero)) (abs (Pos (Succ vuz280)))",fontsize=16,color="magenta"];5265 -> 6357[label="",style="dashed", color="magenta", weight=3]; 5265 -> 6358[label="",style="dashed", color="magenta", weight=3]; 6399[label="absReal1 (Neg vuz34) (compare (Neg vuz34) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6399 -> 6408[label="",style="solid", color="black", weight=3]; 5267 -> 6348[label="",style="dashed", color="red", weight=0]; 5267[label="gcd0Gcd' (abs (Neg Zero)) (abs (Neg (Succ vuz340)))",fontsize=16,color="magenta"];5267 -> 6359[label="",style="dashed", color="magenta", weight=3]; 5267 -> 6360[label="",style="dashed", color="magenta", weight=3]; 5305[label="Succ vuz340",fontsize=16,color="green",shape="box"];6315[label="primMinusNatS (Succ vuz1620) (Succ vuz1630)",fontsize=16,color="black",shape="box"];6315 -> 6331[label="",style="solid", color="black", weight=3]; 6316[label="primMinusNatS (Succ vuz1620) Zero",fontsize=16,color="black",shape="box"];6316 -> 6332[label="",style="solid", color="black", weight=3]; 6317[label="primMinusNatS Zero (Succ vuz1630)",fontsize=16,color="black",shape="box"];6317 -> 6333[label="",style="solid", color="black", weight=3]; 6318[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];6318 -> 6334[label="",style="solid", color="black", weight=3]; 6401[label="absReal1 (Pos (Succ vuz1670)) (not (compare (Pos (Succ vuz1670)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6401 -> 6411[label="",style="solid", color="black", weight=3]; 6402[label="absReal1 (Pos vuz28) (not (compare (Pos vuz28) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6402 -> 6412[label="",style="solid", color="black", weight=3]; 6403[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz16900)) (fromInt (Pos Zero))) vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6403 -> 6413[label="",style="solid", color="black", weight=3]; 6404[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6404 -> 6414[label="",style="solid", color="black", weight=3]; 6405[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz16900)) (fromInt (Pos Zero))) vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6405 -> 6415[label="",style="solid", color="black", weight=3]; 6406[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6406 -> 6416[label="",style="solid", color="black", weight=3]; 6409 -> 6350[label="",style="dashed", color="red", weight=0]; 6409[label="abs (Pos Zero)",fontsize=16,color="magenta"];6409 -> 6419[label="",style="dashed", color="magenta", weight=3]; 6410 -> 6350[label="",style="dashed", color="red", weight=0]; 6410[label="abs (Pos (Succ vuz280))",fontsize=16,color="magenta"];6410 -> 6420[label="",style="dashed", color="magenta", weight=3]; 6407[label="absReal1 (Neg (Succ vuz1240)) (not (compare (Neg (Succ vuz1240)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6407 -> 6417[label="",style="solid", color="black", weight=3]; 6357 -> 6354[label="",style="dashed", color="red", weight=0]; 6357[label="abs (Neg Zero)",fontsize=16,color="magenta"];6357 -> 6372[label="",style="dashed", color="magenta", weight=3]; 6358 -> 6350[label="",style="dashed", color="red", weight=0]; 6358[label="abs (Pos (Succ vuz280))",fontsize=16,color="magenta"];6358 -> 6373[label="",style="dashed", color="magenta", weight=3]; 6408[label="absReal1 (Neg vuz34) (not (compare (Neg vuz34) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6408 -> 6418[label="",style="solid", color="black", weight=3]; 6359 -> 6354[label="",style="dashed", color="red", weight=0]; 6359[label="abs (Neg Zero)",fontsize=16,color="magenta"];6359 -> 6374[label="",style="dashed", color="magenta", weight=3]; 6360 -> 6354[label="",style="dashed", color="red", weight=0]; 6360[label="abs (Neg (Succ vuz340))",fontsize=16,color="magenta"];6360 -> 6375[label="",style="dashed", color="magenta", weight=3]; 6331 -> 6280[label="",style="dashed", color="red", weight=0]; 6331[label="primMinusNatS vuz1620 vuz1630",fontsize=16,color="magenta"];6331 -> 6376[label="",style="dashed", color="magenta", weight=3]; 6331 -> 6377[label="",style="dashed", color="magenta", weight=3]; 6332[label="Succ vuz1620",fontsize=16,color="green",shape="box"];6333[label="Zero",fontsize=16,color="green",shape="box"];6334[label="Zero",fontsize=16,color="green",shape="box"];6411[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpInt (Pos (Succ vuz1670)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6411 -> 6421[label="",style="solid", color="black", weight=3]; 6412[label="absReal1 (Pos vuz28) (not (primCmpInt (Pos vuz28) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];6817[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];6412 -> 6817[label="",style="solid", color="burlywood", weight=9]; 6817 -> 6422[label="",style="solid", color="burlywood", weight=3]; 6818[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];6412 -> 6818[label="",style="solid", color="burlywood", weight=9]; 6818 -> 6423[label="",style="solid", color="burlywood", weight=3]; 6413[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz16900)) (Pos Zero)) vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6413 -> 6424[label="",style="solid", color="black", weight=3]; 6414[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6414 -> 6425[label="",style="solid", color="black", weight=3]; 6415[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz16900)) (Pos Zero)) vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6415 -> 6426[label="",style="solid", color="black", weight=3]; 6416[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6416 -> 6427[label="",style="solid", color="black", weight=3]; 6419[label="Zero",fontsize=16,color="green",shape="box"];6420[label="Succ vuz280",fontsize=16,color="green",shape="box"];6417[label="absReal1 (Neg (Succ vuz1240)) (not (primCmpInt (Neg (Succ vuz1240)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6417 -> 6428[label="",style="solid", color="black", weight=3]; 6372[label="Zero",fontsize=16,color="green",shape="box"];6373[label="Succ vuz280",fontsize=16,color="green",shape="box"];6418[label="absReal1 (Neg vuz34) (not (primCmpInt (Neg vuz34) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];6819[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];6418 -> 6819[label="",style="solid", color="burlywood", weight=9]; 6819 -> 6429[label="",style="solid", color="burlywood", weight=3]; 6820[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];6418 -> 6820[label="",style="solid", color="burlywood", weight=9]; 6820 -> 6430[label="",style="solid", color="burlywood", weight=3]; 6374[label="Zero",fontsize=16,color="green",shape="box"];6375[label="Succ vuz340",fontsize=16,color="green",shape="box"];6376[label="vuz1620",fontsize=16,color="green",shape="box"];6377[label="vuz1630",fontsize=16,color="green",shape="box"];6421[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpInt (Pos (Succ vuz1670)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];6421 -> 6431[label="",style="solid", color="black", weight=3]; 6422[label="absReal1 (Pos (Succ vuz280)) (not (primCmpInt (Pos (Succ vuz280)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6422 -> 6432[label="",style="solid", color="black", weight=3]; 6423[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6423 -> 6433[label="",style="solid", color="black", weight=3]; 6424[label="gcd0Gcd'1 False vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6424 -> 6434[label="",style="solid", color="black", weight=3]; 6425[label="gcd0Gcd'1 True vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6425 -> 6435[label="",style="solid", color="black", weight=3]; 6426[label="gcd0Gcd'1 False vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6426 -> 6436[label="",style="solid", color="black", weight=3]; 6427[label="gcd0Gcd'1 True vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6427 -> 6437[label="",style="solid", color="black", weight=3]; 6428[label="absReal1 (Neg (Succ vuz1240)) (not (primCmpInt (Neg (Succ vuz1240)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];6428 -> 6438[label="",style="solid", color="black", weight=3]; 6429[label="absReal1 (Neg (Succ vuz340)) (not (primCmpInt (Neg (Succ vuz340)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6429 -> 6439[label="",style="solid", color="black", weight=3]; 6430[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6430 -> 6440[label="",style="solid", color="black", weight=3]; 6431[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpNat (Succ vuz1670) Zero == LT))",fontsize=16,color="black",shape="box"];6431 -> 6441[label="",style="solid", color="black", weight=3]; 6432 -> 6421[label="",style="dashed", color="red", weight=0]; 6432[label="absReal1 (Pos (Succ vuz280)) (not (primCmpInt (Pos (Succ vuz280)) (Pos Zero) == LT))",fontsize=16,color="magenta"];6432 -> 6442[label="",style="dashed", color="magenta", weight=3]; 6433[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];6433 -> 6443[label="",style="solid", color="black", weight=3]; 6434[label="gcd0Gcd'0 vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6434 -> 6444[label="",style="solid", color="black", weight=3]; 6435[label="vuz170",fontsize=16,color="green",shape="box"];6436[label="gcd0Gcd'0 vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6436 -> 6445[label="",style="solid", color="black", weight=3]; 6437[label="vuz170",fontsize=16,color="green",shape="box"];6438[label="absReal1 (Neg (Succ vuz1240)) (not (LT == LT))",fontsize=16,color="black",shape="box"];6438 -> 6446[label="",style="solid", color="black", weight=3]; 6439 -> 6428[label="",style="dashed", color="red", weight=0]; 6439[label="absReal1 (Neg (Succ vuz340)) (not (primCmpInt (Neg (Succ vuz340)) (Pos Zero) == LT))",fontsize=16,color="magenta"];6439 -> 6447[label="",style="dashed", color="magenta", weight=3]; 6440[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];6440 -> 6448[label="",style="solid", color="black", weight=3]; 6441[label="absReal1 (Pos (Succ vuz1670)) (not (GT == LT))",fontsize=16,color="black",shape="box"];6441 -> 6449[label="",style="solid", color="black", weight=3]; 6442[label="vuz280",fontsize=16,color="green",shape="box"];6443[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];6443 -> 6450[label="",style="solid", color="black", weight=3]; 6444 -> 6348[label="",style="dashed", color="red", weight=0]; 6444[label="gcd0Gcd' (Pos (Succ vuz16900)) (vuz170 `rem` Pos (Succ vuz16900))",fontsize=16,color="magenta"];6444 -> 6451[label="",style="dashed", color="magenta", weight=3]; 6444 -> 6452[label="",style="dashed", color="magenta", weight=3]; 6445 -> 6348[label="",style="dashed", color="red", weight=0]; 6445[label="gcd0Gcd' (Neg (Succ vuz16900)) (vuz170 `rem` Neg (Succ vuz16900))",fontsize=16,color="magenta"];6445 -> 6453[label="",style="dashed", color="magenta", weight=3]; 6445 -> 6454[label="",style="dashed", color="magenta", weight=3]; 6446[label="absReal1 (Neg (Succ vuz1240)) (not True)",fontsize=16,color="black",shape="box"];6446 -> 6455[label="",style="solid", color="black", weight=3]; 6447[label="vuz340",fontsize=16,color="green",shape="box"];6448[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];6448 -> 6456[label="",style="solid", color="black", weight=3]; 6449[label="absReal1 (Pos (Succ vuz1670)) (not False)",fontsize=16,color="black",shape="box"];6449 -> 6457[label="",style="solid", color="black", weight=3]; 6450[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];6450 -> 6458[label="",style="solid", color="black", weight=3]; 6451[label="Pos (Succ vuz16900)",fontsize=16,color="green",shape="box"];6452[label="vuz170 `rem` Pos (Succ vuz16900)",fontsize=16,color="black",shape="box"];6452 -> 6459[label="",style="solid", color="black", weight=3]; 6453[label="Neg (Succ vuz16900)",fontsize=16,color="green",shape="box"];6454[label="vuz170 `rem` Neg (Succ vuz16900)",fontsize=16,color="black",shape="box"];6454 -> 6460[label="",style="solid", color="black", weight=3]; 6455[label="absReal1 (Neg (Succ vuz1240)) False",fontsize=16,color="black",shape="box"];6455 -> 6461[label="",style="solid", color="black", weight=3]; 6456[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];6456 -> 6462[label="",style="solid", color="black", weight=3]; 6457[label="absReal1 (Pos (Succ vuz1670)) True",fontsize=16,color="black",shape="box"];6457 -> 6463[label="",style="solid", color="black", weight=3]; 6458[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];6458 -> 6464[label="",style="solid", color="black", weight=3]; 6459[label="primRemInt vuz170 (Pos (Succ vuz16900))",fontsize=16,color="burlywood",shape="box"];6821[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];6459 -> 6821[label="",style="solid", color="burlywood", weight=9]; 6821 -> 6465[label="",style="solid", color="burlywood", weight=3]; 6822[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];6459 -> 6822[label="",style="solid", color="burlywood", weight=9]; 6822 -> 6466[label="",style="solid", color="burlywood", weight=3]; 6460[label="primRemInt vuz170 (Neg (Succ vuz16900))",fontsize=16,color="burlywood",shape="box"];6823[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];6460 -> 6823[label="",style="solid", color="burlywood", weight=9]; 6823 -> 6467[label="",style="solid", color="burlywood", weight=3]; 6824[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];6460 -> 6824[label="",style="solid", color="burlywood", weight=9]; 6824 -> 6468[label="",style="solid", color="burlywood", weight=3]; 6461[label="absReal0 (Neg (Succ vuz1240)) otherwise",fontsize=16,color="black",shape="box"];6461 -> 6469[label="",style="solid", color="black", weight=3]; 6462[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];6462 -> 6470[label="",style="solid", color="black", weight=3]; 6463[label="Pos (Succ vuz1670)",fontsize=16,color="green",shape="box"];6464[label="Pos Zero",fontsize=16,color="green",shape="box"];6465[label="primRemInt (Pos vuz1700) (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6465 -> 6471[label="",style="solid", color="black", weight=3]; 6466[label="primRemInt (Neg vuz1700) (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6466 -> 6472[label="",style="solid", color="black", weight=3]; 6467[label="primRemInt (Pos vuz1700) (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6467 -> 6473[label="",style="solid", color="black", weight=3]; 6468[label="primRemInt (Neg vuz1700) (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6468 -> 6474[label="",style="solid", color="black", weight=3]; 6469[label="absReal0 (Neg (Succ vuz1240)) True",fontsize=16,color="black",shape="box"];6469 -> 6475[label="",style="solid", color="black", weight=3]; 6470[label="Neg Zero",fontsize=16,color="green",shape="box"];6471[label="Pos (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6471 -> 6476[label="",style="dashed", color="green", weight=3]; 6472[label="Neg (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6472 -> 6477[label="",style="dashed", color="green", weight=3]; 6473[label="Pos (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6473 -> 6478[label="",style="dashed", color="green", weight=3]; 6474[label="Neg (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6474 -> 6479[label="",style="dashed", color="green", weight=3]; 6475[label="`negate` Neg (Succ vuz1240)",fontsize=16,color="black",shape="box"];6475 -> 6480[label="",style="solid", color="black", weight=3]; 6476[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="burlywood",shape="triangle"];6825[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];6476 -> 6825[label="",style="solid", color="burlywood", weight=9]; 6825 -> 6481[label="",style="solid", color="burlywood", weight=3]; 6826[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];6476 -> 6826[label="",style="solid", color="burlywood", weight=9]; 6826 -> 6482[label="",style="solid", color="burlywood", weight=3]; 6477 -> 6476[label="",style="dashed", color="red", weight=0]; 6477[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6477 -> 6483[label="",style="dashed", color="magenta", weight=3]; 6478 -> 6476[label="",style="dashed", color="red", weight=0]; 6478[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6478 -> 6484[label="",style="dashed", color="magenta", weight=3]; 6479 -> 6476[label="",style="dashed", color="red", weight=0]; 6479[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6479 -> 6485[label="",style="dashed", color="magenta", weight=3]; 6479 -> 6486[label="",style="dashed", color="magenta", weight=3]; 6480[label="primNegInt (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6480 -> 6487[label="",style="solid", color="black", weight=3]; 6481[label="primModNatS (Succ vuz17000) (Succ vuz16900)",fontsize=16,color="black",shape="box"];6481 -> 6488[label="",style="solid", color="black", weight=3]; 6482[label="primModNatS Zero (Succ vuz16900)",fontsize=16,color="black",shape="box"];6482 -> 6489[label="",style="solid", color="black", weight=3]; 6483[label="vuz1700",fontsize=16,color="green",shape="box"];6484[label="vuz16900",fontsize=16,color="green",shape="box"];6485[label="vuz16900",fontsize=16,color="green",shape="box"];6486[label="vuz1700",fontsize=16,color="green",shape="box"];6487[label="Pos (Succ vuz1240)",fontsize=16,color="green",shape="box"];6488[label="primModNatS0 vuz17000 vuz16900 (primGEqNatS vuz17000 vuz16900)",fontsize=16,color="burlywood",shape="box"];6827[label="vuz17000/Succ vuz170000",fontsize=10,color="white",style="solid",shape="box"];6488 -> 6827[label="",style="solid", color="burlywood", weight=9]; 6827 -> 6490[label="",style="solid", color="burlywood", weight=3]; 6828[label="vuz17000/Zero",fontsize=10,color="white",style="solid",shape="box"];6488 -> 6828[label="",style="solid", color="burlywood", weight=9]; 6828 -> 6491[label="",style="solid", color="burlywood", weight=3]; 6489[label="Zero",fontsize=16,color="green",shape="box"];6490[label="primModNatS0 (Succ vuz170000) vuz16900 (primGEqNatS (Succ vuz170000) vuz16900)",fontsize=16,color="burlywood",shape="box"];6829[label="vuz16900/Succ vuz169000",fontsize=10,color="white",style="solid",shape="box"];6490 -> 6829[label="",style="solid", color="burlywood", weight=9]; 6829 -> 6492[label="",style="solid", color="burlywood", weight=3]; 6830[label="vuz16900/Zero",fontsize=10,color="white",style="solid",shape="box"];6490 -> 6830[label="",style="solid", color="burlywood", weight=9]; 6830 -> 6493[label="",style="solid", color="burlywood", weight=3]; 6491[label="primModNatS0 Zero vuz16900 (primGEqNatS Zero vuz16900)",fontsize=16,color="burlywood",shape="box"];6831[label="vuz16900/Succ vuz169000",fontsize=10,color="white",style="solid",shape="box"];6491 -> 6831[label="",style="solid", color="burlywood", weight=9]; 6831 -> 6494[label="",style="solid", color="burlywood", weight=3]; 6832[label="vuz16900/Zero",fontsize=10,color="white",style="solid",shape="box"];6491 -> 6832[label="",style="solid", color="burlywood", weight=9]; 6832 -> 6495[label="",style="solid", color="burlywood", weight=3]; 6492[label="primModNatS0 (Succ vuz170000) (Succ vuz169000) (primGEqNatS (Succ vuz170000) (Succ vuz169000))",fontsize=16,color="black",shape="box"];6492 -> 6496[label="",style="solid", color="black", weight=3]; 6493[label="primModNatS0 (Succ vuz170000) Zero (primGEqNatS (Succ vuz170000) Zero)",fontsize=16,color="black",shape="box"];6493 -> 6497[label="",style="solid", color="black", weight=3]; 6494[label="primModNatS0 Zero (Succ vuz169000) (primGEqNatS Zero (Succ vuz169000))",fontsize=16,color="black",shape="box"];6494 -> 6498[label="",style="solid", color="black", weight=3]; 6495[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6495 -> 6499[label="",style="solid", color="black", weight=3]; 6496 -> 6658[label="",style="dashed", color="red", weight=0]; 6496[label="primModNatS0 (Succ vuz170000) (Succ vuz169000) (primGEqNatS vuz170000 vuz169000)",fontsize=16,color="magenta"];6496 -> 6659[label="",style="dashed", color="magenta", weight=3]; 6496 -> 6660[label="",style="dashed", color="magenta", weight=3]; 6496 -> 6661[label="",style="dashed", color="magenta", weight=3]; 6496 -> 6662[label="",style="dashed", color="magenta", weight=3]; 6497[label="primModNatS0 (Succ vuz170000) Zero True",fontsize=16,color="black",shape="box"];6497 -> 6502[label="",style="solid", color="black", weight=3]; 6498[label="primModNatS0 Zero (Succ vuz169000) False",fontsize=16,color="black",shape="box"];6498 -> 6503[label="",style="solid", color="black", weight=3]; 6499[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];6499 -> 6504[label="",style="solid", color="black", weight=3]; 6659[label="vuz169000",fontsize=16,color="green",shape="box"];6660[label="vuz170000",fontsize=16,color="green",shape="box"];6661[label="vuz170000",fontsize=16,color="green",shape="box"];6662[label="vuz169000",fontsize=16,color="green",shape="box"];6658[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS vuz189 vuz190)",fontsize=16,color="burlywood",shape="triangle"];6833[label="vuz189/Succ vuz1890",fontsize=10,color="white",style="solid",shape="box"];6658 -> 6833[label="",style="solid", color="burlywood", weight=9]; 6833 -> 6691[label="",style="solid", color="burlywood", weight=3]; 6834[label="vuz189/Zero",fontsize=10,color="white",style="solid",shape="box"];6658 -> 6834[label="",style="solid", color="burlywood", weight=9]; 6834 -> 6692[label="",style="solid", color="burlywood", weight=3]; 6502 -> 6476[label="",style="dashed", color="red", weight=0]; 6502[label="primModNatS (primMinusNatS (Succ vuz170000) Zero) (Succ Zero)",fontsize=16,color="magenta"];6502 -> 6509[label="",style="dashed", color="magenta", weight=3]; 6502 -> 6510[label="",style="dashed", color="magenta", weight=3]; 6503[label="Succ Zero",fontsize=16,color="green",shape="box"];6504 -> 6476[label="",style="dashed", color="red", weight=0]; 6504[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];6504 -> 6511[label="",style="dashed", color="magenta", weight=3]; 6504 -> 6512[label="",style="dashed", color="magenta", weight=3]; 6691[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) vuz190)",fontsize=16,color="burlywood",shape="box"];6835[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];6691 -> 6835[label="",style="solid", color="burlywood", weight=9]; 6835 -> 6693[label="",style="solid", color="burlywood", weight=3]; 6836[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];6691 -> 6836[label="",style="solid", color="burlywood", weight=9]; 6836 -> 6694[label="",style="solid", color="burlywood", weight=3]; 6692[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero vuz190)",fontsize=16,color="burlywood",shape="box"];6837[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];6692 -> 6837[label="",style="solid", color="burlywood", weight=9]; 6837 -> 6695[label="",style="solid", color="burlywood", weight=3]; 6838[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];6692 -> 6838[label="",style="solid", color="burlywood", weight=9]; 6838 -> 6696[label="",style="solid", color="burlywood", weight=3]; 6509[label="Zero",fontsize=16,color="green",shape="box"];6510 -> 6280[label="",style="dashed", color="red", weight=0]; 6510[label="primMinusNatS (Succ vuz170000) Zero",fontsize=16,color="magenta"];6510 -> 6517[label="",style="dashed", color="magenta", weight=3]; 6510 -> 6518[label="",style="dashed", color="magenta", weight=3]; 6511[label="Zero",fontsize=16,color="green",shape="box"];6512 -> 6280[label="",style="dashed", color="red", weight=0]; 6512[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];6512 -> 6519[label="",style="dashed", color="magenta", weight=3]; 6512 -> 6520[label="",style="dashed", color="magenta", weight=3]; 6693[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) (Succ vuz1900))",fontsize=16,color="black",shape="box"];6693 -> 6697[label="",style="solid", color="black", weight=3]; 6694[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) Zero)",fontsize=16,color="black",shape="box"];6694 -> 6698[label="",style="solid", color="black", weight=3]; 6695[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero (Succ vuz1900))",fontsize=16,color="black",shape="box"];6695 -> 6699[label="",style="solid", color="black", weight=3]; 6696[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6696 -> 6700[label="",style="solid", color="black", weight=3]; 6517[label="Succ vuz170000",fontsize=16,color="green",shape="box"];6518[label="Zero",fontsize=16,color="green",shape="box"];6519[label="Zero",fontsize=16,color="green",shape="box"];6520[label="Zero",fontsize=16,color="green",shape="box"];6697 -> 6658[label="",style="dashed", color="red", weight=0]; 6697[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS vuz1890 vuz1900)",fontsize=16,color="magenta"];6697 -> 6701[label="",style="dashed", color="magenta", weight=3]; 6697 -> 6702[label="",style="dashed", color="magenta", weight=3]; 6698[label="primModNatS0 (Succ vuz187) (Succ vuz188) True",fontsize=16,color="black",shape="triangle"];6698 -> 6703[label="",style="solid", color="black", weight=3]; 6699[label="primModNatS0 (Succ vuz187) (Succ vuz188) False",fontsize=16,color="black",shape="box"];6699 -> 6704[label="",style="solid", color="black", weight=3]; 6700 -> 6698[label="",style="dashed", color="red", weight=0]; 6700[label="primModNatS0 (Succ vuz187) (Succ vuz188) True",fontsize=16,color="magenta"];6701[label="vuz1890",fontsize=16,color="green",shape="box"];6702[label="vuz1900",fontsize=16,color="green",shape="box"];6703 -> 6476[label="",style="dashed", color="red", weight=0]; 6703[label="primModNatS (primMinusNatS (Succ vuz187) (Succ vuz188)) (Succ (Succ vuz188))",fontsize=16,color="magenta"];6703 -> 6705[label="",style="dashed", color="magenta", weight=3]; 6703 -> 6706[label="",style="dashed", color="magenta", weight=3]; 6704[label="Succ (Succ vuz187)",fontsize=16,color="green",shape="box"];6705[label="Succ vuz188",fontsize=16,color="green",shape="box"];6706 -> 6280[label="",style="dashed", color="red", weight=0]; 6706[label="primMinusNatS (Succ vuz187) (Succ vuz188)",fontsize=16,color="magenta"];6706 -> 6707[label="",style="dashed", color="magenta", weight=3]; 6706 -> 6708[label="",style="dashed", color="magenta", weight=3]; 6707[label="Succ vuz187",fontsize=16,color="green",shape="box"];6708[label="Succ vuz188",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) The TRS R consists of the following rules: new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Zero, vuz16900) -> Zero new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primRemInt(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) The TRS R consists of the following rules: new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Zero, vuz16900) -> Zero new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (16) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) the following chains were created: *We consider the chain new_gcd0Gcd'(x0, Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), new_primRemInt(x0, x1)), new_gcd0Gcd'(x2, Pos(Succ(x3))) -> new_gcd0Gcd'(Pos(Succ(x3)), new_primRemInt(x2, x3)) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(x1)), new_primRemInt(x0, x1))=new_gcd0Gcd'(x2, Pos(Succ(x3))) ==> new_gcd0Gcd'(x0, Pos(Succ(x1)))_>=_new_gcd0Gcd'(Pos(Succ(x1)), new_primRemInt(x0, x1))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt(x0, x1)=Pos(Succ(x3)) ==> new_gcd0Gcd'(x0, Pos(Succ(x1)))_>=_new_gcd0Gcd'(Pos(Succ(x1)), new_primRemInt(x0, x1))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x0, x1)=Pos(Succ(x3)) which results in the following new constraint: (3) (Pos(new_primModNatS1(x17, x16))=Pos(Succ(x3)) ==> new_gcd0Gcd'(Pos(x17), Pos(Succ(x16)))_>=_new_gcd0Gcd'(Pos(Succ(x16)), new_primRemInt(Pos(x17), x16))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_primModNatS1(x17, x16)=Succ(x3) ==> new_gcd0Gcd'(Pos(x17), Pos(Succ(x16)))_>=_new_gcd0Gcd'(Pos(Succ(x16)), new_primRemInt(Pos(x17), x16))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x17, x16)=Succ(x3) which results in the following new constraints: (5) (Succ(Zero)=Succ(x3) ==> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x20))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x20))), new_primRemInt(Pos(Succ(Zero)), Succ(x20)))) (6) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x3) ==> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Zero))) (7) (new_primModNatS1(new_primMinusNatS0(Succ(x21), Zero), Zero)=Succ(x3) ==> new_gcd0Gcd'(Pos(Succ(Succ(x21))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x21))), Zero))) (8) (new_primModNatS01(x23, x22, x23, x22)=Succ(x3) ==> new_gcd0Gcd'(Pos(Succ(Succ(x23))), Pos(Succ(Succ(x22))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x22))), new_primRemInt(Pos(Succ(Succ(x23))), Succ(x22)))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x20))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x20))), new_primRemInt(Pos(Succ(Zero)), Succ(x20)))) We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Zero))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Pos(Succ(Succ(x21))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x21))), Zero))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Pos(Succ(Succ(x33))), Pos(Succ(Succ(x34))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x34))), new_primRemInt(Pos(Succ(Succ(x33))), Succ(x34)))) *We consider the chain new_gcd0Gcd'(x4, Pos(Succ(x5))) -> new_gcd0Gcd'(Pos(Succ(x5)), new_primRemInt(x4, x5)), new_gcd0Gcd'(x6, Neg(Succ(x7))) -> new_gcd0Gcd'(Neg(Succ(x7)), new_primRemInt0(x6, x7)) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(x5)), new_primRemInt(x4, x5))=new_gcd0Gcd'(x6, Neg(Succ(x7))) ==> new_gcd0Gcd'(x4, Pos(Succ(x5)))_>=_new_gcd0Gcd'(Pos(Succ(x5)), new_primRemInt(x4, x5))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt(x4, x5)=Neg(Succ(x7)) ==> new_gcd0Gcd'(x4, Pos(Succ(x5)))_>=_new_gcd0Gcd'(Pos(Succ(x5)), new_primRemInt(x4, x5))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x4, x5)=Neg(Succ(x7)) which results in the following new constraint: (3) (Neg(new_primModNatS1(x38, x37))=Neg(Succ(x7)) ==> new_gcd0Gcd'(Neg(x38), Pos(Succ(x37)))_>=_new_gcd0Gcd'(Pos(Succ(x37)), new_primRemInt(Neg(x38), x37))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_primModNatS1(x38, x37)=Succ(x7) ==> new_gcd0Gcd'(Neg(x38), Pos(Succ(x37)))_>=_new_gcd0Gcd'(Pos(Succ(x37)), new_primRemInt(Neg(x38), x37))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x38, x37)=Succ(x7) which results in the following new constraints: (5) (Succ(Zero)=Succ(x7) ==> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x39))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x39))), new_primRemInt(Neg(Succ(Zero)), Succ(x39)))) (6) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x7) ==> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Zero))) (7) (new_primModNatS1(new_primMinusNatS0(Succ(x40), Zero), Zero)=Succ(x7) ==> new_gcd0Gcd'(Neg(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x40))), Zero))) (8) (new_primModNatS01(x42, x41, x42, x41)=Succ(x7) ==> new_gcd0Gcd'(Neg(Succ(Succ(x42))), Pos(Succ(Succ(x41))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x41))), new_primRemInt(Neg(Succ(Succ(x42))), Succ(x41)))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x39))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x39))), new_primRemInt(Neg(Succ(Zero)), Succ(x39)))) We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Zero))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Neg(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x40))), Zero))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Neg(Succ(Succ(x52))), Pos(Succ(Succ(x53))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x53))), new_primRemInt(Neg(Succ(Succ(x52))), Succ(x53)))) For Pair new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) the following chains were created: *We consider the chain new_gcd0Gcd'(x8, Neg(Succ(x9))) -> new_gcd0Gcd'(Neg(Succ(x9)), new_primRemInt0(x8, x9)), new_gcd0Gcd'(x10, Pos(Succ(x11))) -> new_gcd0Gcd'(Pos(Succ(x11)), new_primRemInt(x10, x11)) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(x9)), new_primRemInt0(x8, x9))=new_gcd0Gcd'(x10, Pos(Succ(x11))) ==> new_gcd0Gcd'(x8, Neg(Succ(x9)))_>=_new_gcd0Gcd'(Neg(Succ(x9)), new_primRemInt0(x8, x9))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt0(x8, x9)=Pos(Succ(x11)) ==> new_gcd0Gcd'(x8, Neg(Succ(x9)))_>=_new_gcd0Gcd'(Neg(Succ(x9)), new_primRemInt0(x8, x9))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt0(x8, x9)=Pos(Succ(x11)) which results in the following new constraint: (3) (Pos(new_primModNatS1(x57, x56))=Pos(Succ(x11)) ==> new_gcd0Gcd'(Pos(x57), Neg(Succ(x56)))_>=_new_gcd0Gcd'(Neg(Succ(x56)), new_primRemInt0(Pos(x57), x56))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_primModNatS1(x57, x56)=Succ(x11) ==> new_gcd0Gcd'(Pos(x57), Neg(Succ(x56)))_>=_new_gcd0Gcd'(Neg(Succ(x56)), new_primRemInt0(Pos(x57), x56))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x57, x56)=Succ(x11) which results in the following new constraints: (5) (Succ(Zero)=Succ(x11) ==> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x58))), new_primRemInt0(Pos(Succ(Zero)), Succ(x58)))) (6) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x11) ==> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Zero)), Zero))) (7) (new_primModNatS1(new_primMinusNatS0(Succ(x59), Zero), Zero)=Succ(x11) ==> new_gcd0Gcd'(Pos(Succ(Succ(x59))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Succ(x59))), Zero))) (8) (new_primModNatS01(x61, x60, x61, x60)=Succ(x11) ==> new_gcd0Gcd'(Pos(Succ(Succ(x61))), Neg(Succ(Succ(x60))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x60))), new_primRemInt0(Pos(Succ(Succ(x61))), Succ(x60)))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x58))), new_primRemInt0(Pos(Succ(Zero)), Succ(x58)))) We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Zero)), Zero))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Pos(Succ(Succ(x59))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Succ(x59))), Zero))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Pos(Succ(Succ(x71))), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x72))), new_primRemInt0(Pos(Succ(Succ(x71))), Succ(x72)))) *We consider the chain new_gcd0Gcd'(x12, Neg(Succ(x13))) -> new_gcd0Gcd'(Neg(Succ(x13)), new_primRemInt0(x12, x13)), new_gcd0Gcd'(x14, Neg(Succ(x15))) -> new_gcd0Gcd'(Neg(Succ(x15)), new_primRemInt0(x14, x15)) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(x13)), new_primRemInt0(x12, x13))=new_gcd0Gcd'(x14, Neg(Succ(x15))) ==> new_gcd0Gcd'(x12, Neg(Succ(x13)))_>=_new_gcd0Gcd'(Neg(Succ(x13)), new_primRemInt0(x12, x13))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt0(x12, x13)=Neg(Succ(x15)) ==> new_gcd0Gcd'(x12, Neg(Succ(x13)))_>=_new_gcd0Gcd'(Neg(Succ(x13)), new_primRemInt0(x12, x13))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt0(x12, x13)=Neg(Succ(x15)) which results in the following new constraint: (3) (Neg(new_primModNatS1(x74, x73))=Neg(Succ(x15)) ==> new_gcd0Gcd'(Neg(x74), Neg(Succ(x73)))_>=_new_gcd0Gcd'(Neg(Succ(x73)), new_primRemInt0(Neg(x74), x73))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_primModNatS1(x74, x73)=Succ(x15) ==> new_gcd0Gcd'(Neg(x74), Neg(Succ(x73)))_>=_new_gcd0Gcd'(Neg(Succ(x73)), new_primRemInt0(Neg(x74), x73))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x74, x73)=Succ(x15) which results in the following new constraints: (5) (Succ(Zero)=Succ(x15) ==> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x77))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x77))), new_primRemInt0(Neg(Succ(Zero)), Succ(x77)))) (6) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x15) ==> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Zero)), Zero))) (7) (new_primModNatS1(new_primMinusNatS0(Succ(x78), Zero), Zero)=Succ(x15) ==> new_gcd0Gcd'(Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Succ(x78))), Zero))) (8) (new_primModNatS01(x80, x79, x80, x79)=Succ(x15) ==> new_gcd0Gcd'(Neg(Succ(Succ(x80))), Neg(Succ(Succ(x79))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x79))), new_primRemInt0(Neg(Succ(Succ(x80))), Succ(x79)))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x77))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x77))), new_primRemInt0(Neg(Succ(Zero)), Succ(x77)))) We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Zero)), Zero))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Succ(x78))), Zero))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Neg(Succ(Succ(x90))), Neg(Succ(Succ(x91))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x91))), new_primRemInt0(Neg(Succ(Succ(x90))), Succ(x91)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x20))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x20))), new_primRemInt(Pos(Succ(Zero)), Succ(x20)))) *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Zero))) *(new_gcd0Gcd'(Pos(Succ(Succ(x21))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x21))), Zero))) *(new_gcd0Gcd'(Pos(Succ(Succ(x33))), Pos(Succ(Succ(x34))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x34))), new_primRemInt(Pos(Succ(Succ(x33))), Succ(x34)))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x39))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x39))), new_primRemInt(Neg(Succ(Zero)), Succ(x39)))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Zero))) *(new_gcd0Gcd'(Neg(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x40))), Zero))) *(new_gcd0Gcd'(Neg(Succ(Succ(x52))), Pos(Succ(Succ(x53))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x53))), new_primRemInt(Neg(Succ(Succ(x52))), Succ(x53)))) *new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x58))), new_primRemInt0(Pos(Succ(Zero)), Succ(x58)))) *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Zero)), Zero))) *(new_gcd0Gcd'(Pos(Succ(Succ(x59))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Succ(x59))), Zero))) *(new_gcd0Gcd'(Pos(Succ(Succ(x71))), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x72))), new_primRemInt0(Pos(Succ(Succ(x71))), Succ(x72)))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x77))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x77))), new_primRemInt0(Neg(Succ(Zero)), Succ(x77)))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Zero)), Zero))) *(new_gcd0Gcd'(Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Succ(x78))), Zero))) *(new_gcd0Gcd'(Neg(Succ(Succ(x90))), Neg(Succ(Succ(x91))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x91))), new_primRemInt0(Neg(Succ(Succ(x90))), Succ(x91)))) 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. ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) The TRS R consists of the following rules: new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Zero, vuz16900) -> Zero new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primRemInt(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Zero, vuz16900) -> Zero new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primRemInt(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (21) Complex Obligation (AND) ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Zero, vuz16900) -> Zero new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primRemInt(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primRemInt(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt0(Pos(x0), x1) new_primRemInt(Pos(x0), x1) new_primRemInt(Neg(x0), x1) new_primRemInt0(Neg(x0), x1) ---------------------------------------- (26) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (27) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) (new_gcd0Gcd'(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero))) ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, 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_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (32) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (33) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (34) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) ---------------------------------------- (35) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (36) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (37) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (38) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (39) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (40) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (41) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (42) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) ---------------------------------------- (43) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (44) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (45) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (46) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (48) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (49) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (50) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) ---------------------------------------- (51) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (52) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (53) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) 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'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (56) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (57) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (58) 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_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) Strictly oriented rules of the TRS R: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) Used ordering: Polynomial interpretation [POLO]: POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + 2*x_1 POL(Zero) = 1 POL(new_gcd0Gcd'(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 + x_2 POL(new_primModNatS1(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 ---------------------------------------- (59) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) R is empty. The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (60) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (61) TRUE ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (67) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (68) Complex Obligation (AND) ---------------------------------------- (69) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (71) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (81) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (82) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (83) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (84) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (85) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, 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'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (88) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 3 + x_1 POL(new_primModNatS02(x_1, x_2)) = 3 + x_1 POL(new_primModNatS1(x_1, x_2)) = 2 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (91) TRUE ---------------------------------------- (92) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (93) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (94) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (95) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (96) Complex Obligation (AND) ---------------------------------------- (97) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (98) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (99) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (100) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (101) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (102) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (103) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (104) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (105) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (106) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (107) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (108) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (109) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (110) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (111) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (112) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (113) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (114) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (115) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (116) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (117) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (118) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (119) TRUE ---------------------------------------- (120) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (121) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(new_primModNatS01(Succ(Succ(x0)), Succ(Succ(x1)), x0, x1))), new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(new_primModNatS01(Succ(Succ(x0)), Succ(Succ(x1)), x0, x1)))=new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(new_primModNatS01(Succ(Succ(x0)), Succ(Succ(x1)), x0, x1)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x0))=x4 & Succ(Succ(x1))=x5 & new_primModNatS01(x4, x5, x0, x1)=Succ(Succ(Succ(Succ(x3)))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(new_primModNatS01(Succ(Succ(x0)), Succ(Succ(x1)), x0, x1)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x4, x5, x0, x1)=Succ(Succ(Succ(Succ(x3)))) which results in the following new constraints: (3) (new_primModNatS02(x7, x6)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Zero))=x7 & Succ(Succ(Zero))=x6 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x11, x10, x9, x8)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(x9)))=x11 & Succ(Succ(Succ(x8)))=x10 & (\/x12:new_primModNatS01(x11, x10, x9, x8)=Succ(Succ(Succ(Succ(x12)))) & Succ(Succ(x9))=x11 & Succ(Succ(x8))=x10 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x9))))), Pos(Succ(Succ(Succ(Succ(x8))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8)))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x9)))))), Pos(Succ(Succ(Succ(Succ(Succ(x8)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x8)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x9))), Succ(Succ(Succ(x8))), Succ(x9), Succ(x8))))) (5) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(x13)))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x13)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x13))), Succ(Succ(Zero)), Succ(x13), Zero)))) (6) (Succ(Succ(x18))=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Zero))=x18 & Succ(Succ(Succ(x16)))=x17 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x16)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x16))), Zero, Succ(x16))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x7, x6)=Succ(Succ(Succ(Succ(x3)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Succ(x20), Succ(x19)), Succ(x19))=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Zero))=x20 & Succ(Succ(Zero))=x19 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x11, x10, x9, x8)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(x9)))=x11 & Succ(Succ(Succ(x8)))=x10 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x9)))))), Pos(Succ(Succ(Succ(Succ(Succ(x8)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x8)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x9))), Succ(Succ(Succ(x8))), Succ(x9), Succ(x8))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x3)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x39), Succ(x38)), Succ(x38))=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(x13)))=x39 & Succ(Succ(Zero))=x38 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x13)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x13))), Succ(Succ(Zero)), Succ(x13), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x16)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x16))), Zero, Succ(x16))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x11, x10, x9, x8)=Succ(Succ(Succ(Succ(x3)))) which results in the following new constraints: (12) (new_primModNatS02(x26, x25)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(Zero)))=x26 & Succ(Succ(Succ(Zero)))=x25 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x30, x29, x28, x27)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(Succ(x28))))=x30 & Succ(Succ(Succ(Succ(x27))))=x29 & (\/x31:new_primModNatS01(x30, x29, x28, x27)=Succ(Succ(Succ(Succ(x31)))) & Succ(Succ(Succ(x28)))=x30 & Succ(Succ(Succ(x27)))=x29 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x28)))))), Pos(Succ(Succ(Succ(Succ(Succ(x27)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x27)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x28))), Succ(Succ(Succ(x27))), Succ(x28), Succ(x27))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x28))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x28)))), Succ(Succ(Succ(Succ(x27)))), Succ(Succ(x28)), Succ(Succ(x27)))))) (14) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(Succ(x32))))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x32))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x32)))), Succ(Succ(Succ(Zero))), Succ(Succ(x32)), Succ(Zero))))) (15) (Succ(Succ(x37))=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(Zero)))=x37 & Succ(Succ(Succ(Succ(x35))))=x36 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x35)))), Succ(Zero), Succ(Succ(x35)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x28))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x28)))), Succ(Succ(Succ(Succ(x27)))), Succ(Succ(x28)), Succ(Succ(x27)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x32))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x32)))), Succ(Succ(Succ(Zero))), Succ(Succ(x32)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x35)))), Succ(Zero), Succ(Succ(x35)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x13)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x13))), Succ(Succ(Zero)), Succ(x13), Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x35)))), Succ(Zero), Succ(Succ(x35)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x16)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x16))), Zero, Succ(x16))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x28))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x28)))), Succ(Succ(Succ(Succ(x27)))), Succ(Succ(x28)), Succ(Succ(x27)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x32))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x32)))), Succ(Succ(Succ(Zero))), Succ(Succ(x32)), Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x13)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x13))), Succ(Succ(Zero)), Succ(x13), 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. ---------------------------------------- (122) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (123) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Zero, vuz16900) -> Zero new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primRemInt(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (124) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (125) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primRemInt(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (126) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Pos(x0), x1) new_primRemInt(Neg(x0), x1) ---------------------------------------- (127) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (128) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) ---------------------------------------- (129) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (130) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (131) Complex Obligation (AND) ---------------------------------------- (132) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (133) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (135) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt0(Pos(x0), x1) new_primRemInt0(Neg(x0), x1) ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) (new_gcd0Gcd'(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero))) ---------------------------------------- (138) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (139) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (140) Complex Obligation (AND) ---------------------------------------- (141) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (142) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (143) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (144) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) ---------------------------------------- (145) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (146) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (149) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (151) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (152) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (153) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (154) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (155) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (156) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (157) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (158) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (159) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (161) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (162) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (163) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (165) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (166) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (167) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (168) 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_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) Strictly oriented rules of the TRS R: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = x_1 POL(Succ(x_1)) = 1 + 2*x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primModNatS1(x_1, x_2)) = 2*x_1 + 2*x_2 ---------------------------------------- (169) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Zero, vuz16900) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (170) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (171) TRUE ---------------------------------------- (172) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (173) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (174) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (175) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (176) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (177) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (178) Complex Obligation (AND) ---------------------------------------- (179) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (180) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (181) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (182) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (183) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (184) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))) ---------------------------------------- (185) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (186) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (187) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (188) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (189) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (190) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (191) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (192) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (193) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (194) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (195) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (196) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (197) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (198) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 3 + x_1 POL(new_primModNatS02(x_1, x_2)) = 3 + x_1 POL(new_primModNatS1(x_1, x_2)) = 2 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (199) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (200) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (201) TRUE ---------------------------------------- (202) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (203) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (204) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (205) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (206) Complex Obligation (AND) ---------------------------------------- (207) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (208) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (209) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (210) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (211) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (212) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (213) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (214) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (215) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (216) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (217) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (218) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (219) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (220) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (221) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (222) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (223) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (224) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (225) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (226) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (227) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (228) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (229) TRUE ---------------------------------------- (230) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (231) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(new_primModNatS01(Succ(Succ(x0)), Succ(Succ(x1)), x0, x1))), new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(new_primModNatS01(Succ(Succ(x0)), Succ(Succ(x1)), x0, x1)))=new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(new_primModNatS01(Succ(Succ(x0)), Succ(Succ(x1)), x0, x1)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x0))=x4 & Succ(Succ(x1))=x5 & new_primModNatS01(x4, x5, x0, x1)=Succ(Succ(Succ(Succ(x3)))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(new_primModNatS01(Succ(Succ(x0)), Succ(Succ(x1)), x0, x1)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x4, x5, x0, x1)=Succ(Succ(Succ(Succ(x3)))) which results in the following new constraints: (3) (new_primModNatS02(x7, x6)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Zero))=x7 & Succ(Succ(Zero))=x6 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x11, x10, x9, x8)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(x9)))=x11 & Succ(Succ(Succ(x8)))=x10 & (\/x12:new_primModNatS01(x11, x10, x9, x8)=Succ(Succ(Succ(Succ(x12)))) & Succ(Succ(x9))=x11 & Succ(Succ(x8))=x10 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x9))))), Neg(Succ(Succ(Succ(Succ(x8))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8)))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x9)))))), Neg(Succ(Succ(Succ(Succ(Succ(x8)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x8)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x9))), Succ(Succ(Succ(x8))), Succ(x9), Succ(x8))))) (5) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(x13)))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x13)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x13))), Succ(Succ(Zero)), Succ(x13), Zero)))) (6) (Succ(Succ(x18))=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Zero))=x18 & Succ(Succ(Succ(x16)))=x17 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x16)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x16))), Zero, Succ(x16))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x7, x6)=Succ(Succ(Succ(Succ(x3)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Succ(x20), Succ(x19)), Succ(x19))=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Zero))=x20 & Succ(Succ(Zero))=x19 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x11, x10, x9, x8)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(x9)))=x11 & Succ(Succ(Succ(x8)))=x10 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x9)))))), Neg(Succ(Succ(Succ(Succ(Succ(x8)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x8)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x9))), Succ(Succ(Succ(x8))), Succ(x9), Succ(x8))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x3)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x39), Succ(x38)), Succ(x38))=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(x13)))=x39 & Succ(Succ(Zero))=x38 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x13)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x13))), Succ(Succ(Zero)), Succ(x13), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x16)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x16))), Zero, Succ(x16))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x11, x10, x9, x8)=Succ(Succ(Succ(Succ(x3)))) which results in the following new constraints: (12) (new_primModNatS02(x26, x25)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(Zero)))=x26 & Succ(Succ(Succ(Zero)))=x25 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x30, x29, x28, x27)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(Succ(x28))))=x30 & Succ(Succ(Succ(Succ(x27))))=x29 & (\/x31:new_primModNatS01(x30, x29, x28, x27)=Succ(Succ(Succ(Succ(x31)))) & Succ(Succ(Succ(x28)))=x30 & Succ(Succ(Succ(x27)))=x29 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x28)))))), Neg(Succ(Succ(Succ(Succ(Succ(x27)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x27)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x28))), Succ(Succ(Succ(x27))), Succ(x28), Succ(x27))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x28))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x28)))), Succ(Succ(Succ(Succ(x27)))), Succ(Succ(x28)), Succ(Succ(x27)))))) (14) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(Succ(x32))))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x32))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x32)))), Succ(Succ(Succ(Zero))), Succ(Succ(x32)), Succ(Zero))))) (15) (Succ(Succ(x37))=Succ(Succ(Succ(Succ(x3)))) & Succ(Succ(Succ(Zero)))=x37 & Succ(Succ(Succ(Succ(x35))))=x36 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x35)))), Succ(Zero), Succ(Succ(x35)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x28))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x28)))), Succ(Succ(Succ(Succ(x27)))), Succ(Succ(x28)), Succ(Succ(x27)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x32))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x32)))), Succ(Succ(Succ(Zero))), Succ(Succ(x32)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x35)))), Succ(Zero), Succ(Succ(x35)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x13)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x13))), Succ(Succ(Zero)), Succ(x13), Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x35)))), Succ(Zero), Succ(Succ(x35)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x16)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x16))), Zero, Succ(x16))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x28))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x27))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x28)))), Succ(Succ(Succ(Succ(x27)))), Succ(Succ(x28)), Succ(Succ(x27)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x32))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x32)))), Succ(Succ(Succ(Zero))), Succ(Succ(x32)), Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x13)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x13))), Succ(Succ(Zero)), Succ(x13), 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. ---------------------------------------- (232) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (233) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (234) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (235) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primRemInt0(Pos(x0), x1) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (236) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt0(Pos(x0), x1) new_primRemInt0(Neg(x0), x1) ---------------------------------------- (237) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (238) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) (new_gcd0Gcd'(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero))) ---------------------------------------- (239) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (240) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (241) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (242) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (243) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (244) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (245) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (246) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (247) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (248) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) (new_gcd0Gcd'(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero))) ---------------------------------------- (249) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (250) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. ---------------------------------------- (251) Complex Obligation (AND) ---------------------------------------- (252) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (253) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (254) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (255) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) ---------------------------------------- (256) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (257) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (258) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (259) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (260) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (261) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (262) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (263) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (264) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (265) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (266) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (267) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (268) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (269) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (270) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (271) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (272) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (273) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (274) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (275) 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(Neg(x_1)) = x_1 POL(Pos(x_1)) = 1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 >= 2 *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (276) YES ---------------------------------------- (277) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (278) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (279) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (280) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) ---------------------------------------- (281) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (282) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (283) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (284) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (285) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (286) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (287) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (288) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (289) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (290) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (291) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (292) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (293) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (294) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (295) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (296) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (297) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (298) 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(Neg(x_1)) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 >= 2 *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (299) YES ---------------------------------------- (300) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (302) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (303) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (304) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (305) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (306) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (307) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (308) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (309) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))) ---------------------------------------- (310) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (311) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (312) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (314) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (316) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (318) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (320) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (321) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (322) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (323) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (324) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (325) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (326) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (327) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (328) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (329) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (330) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (331) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (332) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (333) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (334) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (335) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (336) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (337) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (338) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (339) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (340) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (341) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (342) Complex Obligation (AND) ---------------------------------------- (343) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (344) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (345) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, 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(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (347) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, 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(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (349) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (350) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (351) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (352) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (353) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (354) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (355) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (356) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (357) TRUE ---------------------------------------- (358) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (359) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (360) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (361) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (362) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (363) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 0 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (364) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (365) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (366) TRUE ---------------------------------------- (367) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (368) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (369) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (370) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (371) Complex Obligation (AND) ---------------------------------------- (372) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (373) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (374) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (375) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (376) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (377) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (378) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (379) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (380) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (381) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 2*x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (382) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (383) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (384) TRUE ---------------------------------------- (385) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (386) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 0 POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (387) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (388) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (389) TRUE ---------------------------------------- (390) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (391) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x5))))), Pos(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))=new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x2))=x12 & Succ(Succ(x3))=x13 & new_primModNatS01(x12, x13, x2, x3)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x2, x3)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x17))))), Pos(Succ(Succ(Succ(Succ(x16))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x16)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x21)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x24)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x16)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x21)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x24)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x21)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x9))))), Neg(new_primModNatS01(Succ(Succ(x8)), Succ(Succ(x9)), x8, x9))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)))=new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x6))=x52 & Succ(Succ(x7))=x53 & new_primModNatS01(x52, x53, x6, x7)=Succ(Succ(Succ(Succ(x9)))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x52, x53, x6, x7)=Succ(Succ(Succ(Succ(x9)))) which results in the following new constraints: (3) (new_primModNatS02(x55, x54)=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Zero))=x55 & Succ(Succ(Zero))=x54 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Succ(x57)))=x59 & Succ(Succ(Succ(x56)))=x58 & (\/x60:new_primModNatS01(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & Succ(Succ(x57))=x59 & Succ(Succ(x56))=x58 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x57))))), Neg(Succ(Succ(Succ(Succ(x56))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x56))))), Pos(new_primModNatS01(Succ(Succ(x57)), Succ(Succ(x56)), x57, x56)))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x57)))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x57))), Succ(Succ(Succ(x56))), Succ(x57), Succ(x56))))) (5) (new_primModNatS02(x63, x62)=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Zero))=x62 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Zero)), Succ(x61), Zero)))) (6) (Succ(Succ(x66))=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Zero))=x66 & Succ(Succ(Succ(x64)))=x65 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x64)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x64))), Zero, Succ(x64))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x55, x54)=Succ(Succ(Succ(Succ(x9)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Succ(x68), Succ(x67)), Succ(x67))=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Zero))=x68 & Succ(Succ(Zero))=x67 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Succ(x57)))=x59 & Succ(Succ(Succ(x56)))=x58 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x57)))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x57))), Succ(Succ(Succ(x56))), Succ(x57), Succ(x56))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x63, x62)=Succ(Succ(Succ(Succ(x9)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x87), Succ(x86)), Succ(x86))=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Succ(x61)))=x87 & Succ(Succ(Zero))=x86 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Zero)), Succ(x61), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x64)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x64))), Zero, Succ(x64))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x9)))) which results in the following new constraints: (12) (new_primModNatS02(x74, x73)=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Succ(Zero)))=x74 & Succ(Succ(Succ(Zero)))=x73 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x78, x77, x76, x75)=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Succ(Succ(x76))))=x78 & Succ(Succ(Succ(Succ(x75))))=x77 & (\/x79:new_primModNatS01(x78, x77, x76, x75)=Succ(Succ(Succ(Succ(x79)))) & Succ(Succ(Succ(x76)))=x78 & Succ(Succ(Succ(x75)))=x77 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x76)))))), Neg(Succ(Succ(Succ(Succ(Succ(x75)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x75)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x76))), Succ(Succ(Succ(x75))), Succ(x76), Succ(x75))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x76)))), Succ(Succ(Succ(Succ(x75)))), Succ(Succ(x76)), Succ(Succ(x75)))))) (14) (new_primModNatS02(x82, x81)=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Succ(Succ(x80))))=x82 & Succ(Succ(Succ(Zero)))=x81 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Zero))), Succ(Succ(x80)), Succ(Zero))))) (15) (Succ(Succ(x85))=Succ(Succ(Succ(Succ(x9)))) & Succ(Succ(Succ(Zero)))=x85 & Succ(Succ(Succ(Succ(x83))))=x84 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x83))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x83))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x83)))), Succ(Zero), Succ(Succ(x83)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x76)))), Succ(Succ(Succ(Succ(x75)))), Succ(Succ(x76)), Succ(Succ(x75)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Zero))), Succ(Succ(x80)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x83))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x83))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x83)))), Succ(Zero), Succ(Succ(x83)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Zero)), Succ(x61), Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x24)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x21)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x83))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x83))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x83)))), Succ(Zero), Succ(Succ(x83)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x64)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x64))), Zero, Succ(x64))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x76)))), Succ(Succ(Succ(Succ(x75)))), Succ(Succ(x76)), Succ(Succ(x75)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Zero))), Succ(Succ(x80)), Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Zero)), Succ(x61), 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. ---------------------------------------- (392) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (393) Obligation: Q DP problem: The TRS P consists of the following rules: new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) The TRS R consists of the following rules: new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_quot2(vuz33, vuz40, vuz300, vuz34) -> new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primMulNat0(Zero, Zero) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primDivNatS1(Zero, vuz12300) -> Zero new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primMinusNatS2 -> Zero new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_gcd22(Zero, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_abs0(Zero) -> Neg(Zero) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd21(Zero, Zero) -> new_error new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_abs(vuz1240) -> new_absReal10(vuz1240) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_gcd20(Zero, vuz126, Zero) -> new_error new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primModNatS1(Zero, vuz16900) -> Zero new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_error -> error([]) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_abs1(Zero) -> Pos(Zero) new_gcd23(Zero, Zero) -> new_error new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_quot0(x0, x1, x2, x3) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_quot2(x0, x1, x2, x3) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (394) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) at position [1] we obtained the following new rules [LPAR04]: (new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31),new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31)) ---------------------------------------- (395) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) The TRS R consists of the following rules: new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_quot2(vuz33, vuz40, vuz300, vuz34) -> new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primMulNat0(Zero, Zero) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primDivNatS1(Zero, vuz12300) -> Zero new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primMinusNatS2 -> Zero new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_gcd22(Zero, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_abs0(Zero) -> Neg(Zero) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd21(Zero, Zero) -> new_error new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_abs(vuz1240) -> new_absReal10(vuz1240) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_gcd20(Zero, vuz126, Zero) -> new_error new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primModNatS1(Zero, vuz16900) -> Zero new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_error -> error([]) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_abs1(Zero) -> Pos(Zero) new_gcd23(Zero, Zero) -> new_error new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_quot0(x0, x1, x2, x3) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_quot2(x0, x1, x2, x3) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (396) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) at position [1] we obtained the following new rules [LPAR04]: (new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31),new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31)) ---------------------------------------- (397) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) The TRS R consists of the following rules: new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_quot2(vuz33, vuz40, vuz300, vuz34) -> new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primMulNat0(Zero, Zero) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primDivNatS1(Zero, vuz12300) -> Zero new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primMinusNatS2 -> Zero new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_gcd22(Zero, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_abs0(Zero) -> Neg(Zero) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd21(Zero, Zero) -> new_error new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_abs(vuz1240) -> new_absReal10(vuz1240) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_gcd20(Zero, vuz126, Zero) -> new_error new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primModNatS1(Zero, vuz16900) -> Zero new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_error -> error([]) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_abs1(Zero) -> Pos(Zero) new_gcd23(Zero, Zero) -> new_error new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_quot0(x0, x1, x2, x3) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_quot2(x0, x1, x2, x3) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (398) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) at position [3] we obtained the following new rules [LPAR04]: (new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31),new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31)) ---------------------------------------- (399) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) The TRS R consists of the following rules: new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_quot2(vuz33, vuz40, vuz300, vuz34) -> new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primMulNat0(Zero, Zero) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primDivNatS1(Zero, vuz12300) -> Zero new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primMinusNatS2 -> Zero new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_gcd22(Zero, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_abs0(Zero) -> Neg(Zero) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd21(Zero, Zero) -> new_error new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_abs(vuz1240) -> new_absReal10(vuz1240) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_gcd20(Zero, vuz126, Zero) -> new_error new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primModNatS1(Zero, vuz16900) -> Zero new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_error -> error([]) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_abs1(Zero) -> Pos(Zero) new_gcd23(Zero, Zero) -> new_error new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_quot0(x0, x1, x2, x3) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_quot2(x0, x1, x2, x3) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (400) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (401) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) The TRS R consists of the following rules: new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs(vuz1240) -> new_absReal10(vuz1240) new_abs0(Zero) -> Neg(Zero) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_abs1(Zero) -> Pos(Zero) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_quot0(x0, x1, x2, x3) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_quot2(x0, x1, x2, x3) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (402) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_quot2(x0, x1, x2, x3) ---------------------------------------- (403) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) The TRS R consists of the following rules: new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs(vuz1240) -> new_absReal10(vuz1240) new_abs0(Zero) -> Neg(Zero) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_abs1(Zero) -> Pos(Zero) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_quot0(x0, x1, x2, x3) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (404) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) at position [3] we obtained the following new rules [LPAR04]: (new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31),new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31)) ---------------------------------------- (405) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) The TRS R consists of the following rules: new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs(vuz1240) -> new_absReal10(vuz1240) new_abs0(Zero) -> Neg(Zero) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_abs1(Zero) -> Pos(Zero) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_quot0(x0, x1, x2, x3) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (406) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (407) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) The TRS R consists of the following rules: new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_abs1(Zero) -> Pos(Zero) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_abs0(Zero) -> Neg(Zero) new_abs(vuz1240) -> new_absReal10(vuz1240) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_quot0(x0, x1, x2, x3) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (408) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_quot0(x0, x1, x2, x3) ---------------------------------------- (409) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) The TRS R consists of the following rules: new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_abs1(Zero) -> Pos(Zero) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_abs0(Zero) -> Neg(Zero) new_abs(vuz1240) -> new_absReal10(vuz1240) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (410) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) we obtained the following new rules [LPAR04]: (new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5),new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5)) ---------------------------------------- (411) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) The TRS R consists of the following rules: new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_abs1(Zero) -> Pos(Zero) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_abs0(Zero) -> Neg(Zero) new_abs(vuz1240) -> new_absReal10(vuz1240) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (412) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) we obtained the following new rules [LPAR04]: (new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5),new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5)) ---------------------------------------- (413) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) The TRS R consists of the following rules: new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_abs1(Zero) -> Pos(Zero) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_abs0(Zero) -> Neg(Zero) new_abs(vuz1240) -> new_absReal10(vuz1240) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (414) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) we obtained the following new rules [LPAR04]: (new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5),new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5)) ---------------------------------------- (415) Obligation: Q DP problem: The TRS P consists of the following rules: new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) The TRS R consists of the following rules: new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_abs1(Zero) -> Pos(Zero) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_abs0(Zero) -> Neg(Zero) new_abs(vuz1240) -> new_absReal10(vuz1240) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (416) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) we obtained the following new rules [LPAR04]: (new_seq(:%(z2, Neg(x1)), :%(x2, Pos(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5),new_seq(:%(z2, Neg(x1)), :%(x2, Pos(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5)) ---------------------------------------- (417) Obligation: Q DP problem: The TRS P consists of the following rules: new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) new_seq(:%(z2, Neg(x1)), :%(x2, Pos(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) The TRS R consists of the following rules: new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) new_primQuotInt0(vuz27, Neg(Zero)) -> new_error new_primQuotInt0(vuz27, Pos(Zero)) -> new_error new_error -> error([]) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) new_primDivNatS1(Zero, vuz12300) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS2 -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) new_primMulNat0(Succ(vuz4100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz30100)) -> Zero new_gcd22(Zero, Zero) -> new_error new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) new_abs1(Zero) -> Pos(Zero) new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) new_primModNatS1(Zero, vuz16900) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) new_primPlusNat1(Zero, Zero) -> Zero new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) new_gcd23(Zero, Zero) -> new_error new_abs0(Zero) -> Neg(Zero) new_abs(vuz1240) -> new_absReal10(vuz1240) new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) new_primQuotInt(vuz122, Pos(Zero)) -> new_error new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) new_primQuotInt(vuz122, Neg(Zero)) -> new_error new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) new_gcd21(Zero, Zero) -> new_error new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) new_gcd20(Zero, vuz126, Zero) -> new_error new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) The set Q consists of the following terms: new_primQuotInt0(x0, Pos(Zero)) new_primDivNatS02(x0, x1) new_primPlusNat0(Succ(x0), x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primModNatS1(Zero, x0) new_gcd24(Pos(x0), Pos(x1), x2) new_quot1(Pos(x0), Neg(x1), x2) new_quot1(Neg(x0), Pos(x1), x2) new_gcd0Gcd'0(x0, Neg(Succ(x1))) new_gcd0Gcd'0(x0, Neg(Zero)) new_gcd21(Zero, Zero) new_primPlusNat1(Succ(x0), Zero) new_primQuotInt(x0, Neg(Zero)) new_abs(x0) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_reduce2D(x0, x1) new_gcd20(Zero, x0, Zero) new_quot(Pos(x0), Pos(x1), x2) new_primQuotInt(x0, Pos(Zero)) new_quot1(Neg(x0), Neg(x1), x2) new_primModNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'0(x0, Pos(Succ(x1))) new_gcd23(Zero, Succ(x0)) new_gcd24(Neg(x0), Neg(x1), x2) new_gcd2(Pos(x0), Neg(x1), x2) new_gcd2(Neg(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Zero) new_primDivNatS1(Succ(Zero), Zero) new_abs0(Zero) new_quot1(Pos(x0), Pos(x1), x2) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_gcd23(Zero, Zero) new_primMulNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) new_gcd20(Zero, x0, Succ(x1)) new_primPlusNat1(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_gcd22(Zero, Succ(x0)) new_abs1(Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'0(x0, Pos(Zero)) new_primRemInt0(Neg(x0), x1) new_gcd2(Pos(x0), Pos(x1), x2) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_reduce2D2(x0, x1) new_gcd22(Succ(x0), x1) new_absReal10(x0) new_quot(Pos(x0), Neg(x1), x2) new_quot(Neg(x0), Pos(x1), x2) new_primQuotInt0(x0, Neg(Zero)) new_gcd21(Zero, Succ(x0)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2 new_primQuotInt(x0, Pos(Succ(x1))) new_primMulNat0(Zero, Succ(x0)) new_primRemInt0(Pos(x0), x1) new_reduce2D1(x0, x1) new_primQuotInt0(x0, Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Zero) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primPlusNat0(Zero, x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primDivNatS1(Zero, x0) new_quot(Neg(x0), Neg(x1), x2) new_primQuotInt(x0, Neg(Succ(x1))) new_gcd21(Succ(x0), x1) new_reduce2D0(x0, x1) new_gcd20(Succ(x0), x1, x2) new_primRemInt(Pos(x0), x1) new_primPlusNat1(Zero, Succ(x0)) new_primQuotInt0(x0, Pos(Succ(x1))) new_absReal1(x0) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_gcd22(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_abs0(Succ(x0)) new_abs1(Succ(x0)) new_gcd24(Pos(x0), Neg(x1), x2) new_gcd24(Neg(x0), Pos(x1), x2) new_primPlusNat1(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(Neg(x0), Neg(x1), x2) new_gcd0(x0, x1) new_primModNatS02(x0, x1) new_gcd23(Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (418) 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_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) The graph contains the following edges 5 > 2, 5 > 4 *new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) The graph contains the following edges 9 >= 5 *new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) The graph contains the following edges 7 >= 5, 9 >= 5 *new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 >= 9 *new_seq(:%(z2, Neg(x1)), :%(x2, Pos(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 >= 9 *new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 >= 9 *new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 >= 9 ---------------------------------------- (419) YES ---------------------------------------- (420) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS(Succ(Succ(vuz170000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (421) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (422) Complex Obligation (AND) ---------------------------------------- (423) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (424) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)),new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188))) ---------------------------------------- (425) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (426) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)),new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188))) ---------------------------------------- (427) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (428) 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_primMinusNatS0(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) ---------------------------------------- (429) YES ---------------------------------------- (430) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz170000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (431) 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_primMinusNatS0(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primModNatS(Succ(Succ(vuz170000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 > 1, 2 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) ---------------------------------------- (432) YES ---------------------------------------- (433) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS0(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) new_primDivNatS0(vuz162, vuz163, Zero, Zero) -> new_primDivNatS00(vuz162, vuz163) new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS0(vuz162, vuz163, vuz1640, vuz1650) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS2, Zero) new_primDivNatS(Succ(Succ(vuz12200)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz12200), Zero) new_primDivNatS00(vuz162, vuz163) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (434) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (435) Complex Obligation (AND) ---------------------------------------- (436) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz12200)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz12200), Zero) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (437) 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(vuz12200)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz12200), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + 2*x_1 POL(Zero) = 1 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS1(x_1)) = 2 + 2*x_1 POL(new_primMinusNatS2) = 2 ---------------------------------------- (438) Obligation: Q DP problem: P is empty. R is empty. The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (439) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (440) YES ---------------------------------------- (441) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) new_primDivNatS(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS0(vuz12200, vuz123000, vuz12200, vuz123000) new_primDivNatS0(vuz162, vuz163, Zero, Zero) -> new_primDivNatS00(vuz162, vuz163) new_primDivNatS00(vuz162, vuz163) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS0(vuz162, vuz163, vuz1640, vuz1650) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz12200) -> Succ(vuz12200) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS1(x0) new_primMinusNatS0(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (442) 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_primMinusNatS0(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primDivNatS(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS0(vuz12200, vuz123000, vuz12200, vuz123000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS0(vuz162, vuz163, vuz1640, vuz1650) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS0(vuz162, vuz163, Zero, Zero) -> new_primDivNatS00(vuz162, vuz163) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS00(vuz162, vuz163) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) ---------------------------------------- (443) YES ---------------------------------------- (444) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vuz4100), Succ(vuz30100)) -> new_primMulNat(vuz4100, Succ(vuz30100)) 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_primMulNat(Succ(vuz4100), Succ(vuz30100)) -> new_primMulNat(vuz4100, Succ(vuz30100)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (446) YES ---------------------------------------- (447) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS(vuz1620, vuz1630) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (448) 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(vuz1620), Succ(vuz1630)) -> new_primMinusNatS(vuz1620, vuz1630) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (449) YES ---------------------------------------- (450) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz3700), Succ(vuz301000)) -> new_primPlusNat(vuz3700, vuz301000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (451) 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(vuz3700), Succ(vuz301000)) -> new_primPlusNat(vuz3700, vuz301000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (452) YES ---------------------------------------- (453) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="product",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="product vuz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 4[label="foldl' (*) (fromInt (Pos (Succ Zero))) vuz3",fontsize=16,color="burlywood",shape="box"];6709[label="vuz3/vuz30 : vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 6709[label="",style="solid", color="burlywood", weight=9]; 6709 -> 5[label="",style="solid", color="burlywood", weight=3]; 6710[label="vuz3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 6710[label="",style="solid", color="burlywood", weight=9]; 6710 -> 6[label="",style="solid", color="burlywood", weight=3]; 5[label="foldl' (*) (fromInt (Pos (Succ Zero))) (vuz30 : vuz31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 6[label="foldl' (*) (fromInt (Pos (Succ Zero))) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 7[label="(foldl' (*) $! (*) fromInt (Pos (Succ Zero)) vuz30)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 8[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];8 -> 10[label="",style="solid", color="black", weight=3]; 9 -> 11[label="",style="dashed", color="red", weight=0]; 9[label="((*) fromInt (Pos (Succ Zero)) vuz30 `seq` foldl' (*) ((*) fromInt (Pos (Succ Zero)) vuz30))",fontsize=16,color="magenta"];9 -> 12[label="",style="dashed", color="magenta", weight=3]; 9 -> 13[label="",style="dashed", color="magenta", weight=3]; 10[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 12 -> 8[label="",style="dashed", color="red", weight=0]; 12[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];13 -> 8[label="",style="dashed", color="red", weight=0]; 13[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];11[label="((*) vuz4 vuz30 `seq` foldl' (*) ((*) vuz5 vuz30))",fontsize=16,color="black",shape="triangle"];11 -> 15[label="",style="solid", color="black", weight=3]; 14[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];14 -> 16[label="",style="dashed", color="green", weight=3]; 14 -> 17[label="",style="dashed", color="green", weight=3]; 15[label="enforceWHNF (WHNF ((*) vuz4 vuz30)) (foldl' (*) ((*) vuz5 vuz30)) vuz31",fontsize=16,color="burlywood",shape="box"];6711[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 6711[label="",style="solid", color="burlywood", weight=9]; 6711 -> 18[label="",style="solid", color="burlywood", weight=3]; 16[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];16 -> 19[label="",style="solid", color="black", weight=3]; 17 -> 16[label="",style="dashed", color="red", weight=0]; 17[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];18[label="enforceWHNF (WHNF ((*) (vuz40 :% vuz41) vuz30)) (foldl' (*) ((*) vuz5 vuz30)) vuz31",fontsize=16,color="burlywood",shape="box"];6712[label="vuz30/vuz300 :% vuz301",fontsize=10,color="white",style="solid",shape="box"];18 -> 6712[label="",style="solid", color="burlywood", weight=9]; 6712 -> 20[label="",style="solid", color="burlywood", weight=3]; 19[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];20[label="enforceWHNF (WHNF ((*) (vuz40 :% vuz41) (vuz300 :% vuz301))) (foldl' (*) ((*) vuz5 (vuz300 :% vuz301))) vuz31",fontsize=16,color="black",shape="box"];20 -> 21[label="",style="solid", color="black", weight=3]; 21[label="enforceWHNF (WHNF (reduce (vuz40 * vuz300) (vuz41 * vuz301))) (foldl' (*) (reduce (vuz40 * vuz300) (vuz41 * vuz301))) vuz31",fontsize=16,color="black",shape="box"];21 -> 22[label="",style="solid", color="black", weight=3]; 22[label="enforceWHNF (WHNF (reduce2 (vuz40 * vuz300) (vuz41 * vuz301))) (foldl' (*) (reduce2 (vuz40 * vuz300) (vuz41 * vuz301))) vuz31",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 23[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (vuz41 * vuz301 == fromInt (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (vuz41 * vuz301 == fromInt (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 24[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (primEqInt (vuz41 * vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (primEqInt (vuz41 * vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 25[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt vuz41 vuz301) (vuz40 * vuz300) (primMulInt vuz41 vuz301) (primEqInt (primMulInt vuz41 vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt vuz41 vuz301) (vuz40 * vuz300) (primMulInt vuz41 vuz301) (primEqInt (primMulInt vuz41 vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6713[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];25 -> 6713[label="",style="solid", color="burlywood", weight=9]; 6713 -> 26[label="",style="solid", color="burlywood", weight=3]; 6714[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];25 -> 6714[label="",style="solid", color="burlywood", weight=9]; 6714 -> 27[label="",style="solid", color="burlywood", weight=3]; 26[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (primEqInt (primMulInt (Pos vuz410) vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (primEqInt (primMulInt (Pos vuz410) vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6715[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];26 -> 6715[label="",style="solid", color="burlywood", weight=9]; 6715 -> 28[label="",style="solid", color="burlywood", weight=3]; 6716[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];26 -> 6716[label="",style="solid", color="burlywood", weight=9]; 6716 -> 29[label="",style="solid", color="burlywood", weight=3]; 27[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (primEqInt (primMulInt (Neg vuz410) vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (primEqInt (primMulInt (Neg vuz410) vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6717[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];27 -> 6717[label="",style="solid", color="burlywood", weight=9]; 6717 -> 30[label="",style="solid", color="burlywood", weight=3]; 6718[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];27 -> 6718[label="",style="solid", color="burlywood", weight=9]; 6718 -> 31[label="",style="solid", color="burlywood", weight=3]; 28[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 29[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 30[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32 -> 304[label="",style="dashed", color="red", weight=0]; 32[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];32 -> 305[label="",style="dashed", color="magenta", weight=3]; 32 -> 306[label="",style="dashed", color="magenta", weight=3]; 32 -> 307[label="",style="dashed", color="magenta", weight=3]; 32 -> 308[label="",style="dashed", color="magenta", weight=3]; 32 -> 309[label="",style="dashed", color="magenta", weight=3]; 32 -> 310[label="",style="dashed", color="magenta", weight=3]; 33 -> 393[label="",style="dashed", color="red", weight=0]; 33[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];33 -> 394[label="",style="dashed", color="magenta", weight=3]; 33 -> 395[label="",style="dashed", color="magenta", weight=3]; 33 -> 396[label="",style="dashed", color="magenta", weight=3]; 33 -> 397[label="",style="dashed", color="magenta", weight=3]; 33 -> 398[label="",style="dashed", color="magenta", weight=3]; 33 -> 399[label="",style="dashed", color="magenta", weight=3]; 34 -> 393[label="",style="dashed", color="red", weight=0]; 34[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];34 -> 400[label="",style="dashed", color="magenta", weight=3]; 34 -> 401[label="",style="dashed", color="magenta", weight=3]; 34 -> 402[label="",style="dashed", color="magenta", weight=3]; 34 -> 403[label="",style="dashed", color="magenta", weight=3]; 34 -> 404[label="",style="dashed", color="magenta", weight=3]; 34 -> 405[label="",style="dashed", color="magenta", weight=3]; 35 -> 304[label="",style="dashed", color="red", weight=0]; 35[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];35 -> 311[label="",style="dashed", color="magenta", weight=3]; 35 -> 312[label="",style="dashed", color="magenta", weight=3]; 35 -> 313[label="",style="dashed", color="magenta", weight=3]; 35 -> 314[label="",style="dashed", color="magenta", weight=3]; 35 -> 315[label="",style="dashed", color="magenta", weight=3]; 35 -> 316[label="",style="dashed", color="magenta", weight=3]; 305[label="primMulNat vuz410 vuz3010",fontsize=16,color="burlywood",shape="triangle"];6719[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];305 -> 6719[label="",style="solid", color="burlywood", weight=9]; 6719 -> 377[label="",style="solid", color="burlywood", weight=3]; 6720[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];305 -> 6720[label="",style="solid", color="burlywood", weight=9]; 6720 -> 378[label="",style="solid", color="burlywood", weight=3]; 306 -> 305[label="",style="dashed", color="red", weight=0]; 306[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];307 -> 305[label="",style="dashed", color="red", weight=0]; 307[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];308 -> 305[label="",style="dashed", color="red", weight=0]; 308[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];309 -> 305[label="",style="dashed", color="red", weight=0]; 309[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];310 -> 305[label="",style="dashed", color="red", weight=0]; 310[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];304[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos vuz30) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="triangle"];6721[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];304 -> 6721[label="",style="solid", color="burlywood", weight=9]; 6721 -> 379[label="",style="solid", color="burlywood", weight=3]; 6722[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];304 -> 6722[label="",style="solid", color="burlywood", weight=9]; 6722 -> 380[label="",style="solid", color="burlywood", weight=3]; 394 -> 305[label="",style="dashed", color="red", weight=0]; 394[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];394 -> 466[label="",style="dashed", color="magenta", weight=3]; 395 -> 305[label="",style="dashed", color="red", weight=0]; 395[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];395 -> 467[label="",style="dashed", color="magenta", weight=3]; 396 -> 305[label="",style="dashed", color="red", weight=0]; 396[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];396 -> 468[label="",style="dashed", color="magenta", weight=3]; 397 -> 305[label="",style="dashed", color="red", weight=0]; 397[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];397 -> 469[label="",style="dashed", color="magenta", weight=3]; 398 -> 305[label="",style="dashed", color="red", weight=0]; 398[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];398 -> 470[label="",style="dashed", color="magenta", weight=3]; 399 -> 305[label="",style="dashed", color="red", weight=0]; 399[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];399 -> 471[label="",style="dashed", color="magenta", weight=3]; 393[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg vuz36) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="triangle"];6723[label="vuz36/Succ vuz360",fontsize=10,color="white",style="solid",shape="box"];393 -> 6723[label="",style="solid", color="burlywood", weight=9]; 6723 -> 472[label="",style="solid", color="burlywood", weight=3]; 6724[label="vuz36/Zero",fontsize=10,color="white",style="solid",shape="box"];393 -> 6724[label="",style="solid", color="burlywood", weight=9]; 6724 -> 473[label="",style="solid", color="burlywood", weight=3]; 400 -> 305[label="",style="dashed", color="red", weight=0]; 400[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];400 -> 474[label="",style="dashed", color="magenta", weight=3]; 401 -> 305[label="",style="dashed", color="red", weight=0]; 401[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];401 -> 475[label="",style="dashed", color="magenta", weight=3]; 402 -> 305[label="",style="dashed", color="red", weight=0]; 402[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];402 -> 476[label="",style="dashed", color="magenta", weight=3]; 403 -> 305[label="",style="dashed", color="red", weight=0]; 403[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];403 -> 477[label="",style="dashed", color="magenta", weight=3]; 404 -> 305[label="",style="dashed", color="red", weight=0]; 404[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];404 -> 478[label="",style="dashed", color="magenta", weight=3]; 405 -> 305[label="",style="dashed", color="red", weight=0]; 405[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];405 -> 479[label="",style="dashed", color="magenta", weight=3]; 311 -> 305[label="",style="dashed", color="red", weight=0]; 311[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];311 -> 381[label="",style="dashed", color="magenta", weight=3]; 311 -> 382[label="",style="dashed", color="magenta", weight=3]; 312 -> 305[label="",style="dashed", color="red", weight=0]; 312[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];312 -> 383[label="",style="dashed", color="magenta", weight=3]; 312 -> 384[label="",style="dashed", color="magenta", weight=3]; 313 -> 305[label="",style="dashed", color="red", weight=0]; 313[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];313 -> 385[label="",style="dashed", color="magenta", weight=3]; 313 -> 386[label="",style="dashed", color="magenta", weight=3]; 314 -> 305[label="",style="dashed", color="red", weight=0]; 314[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];314 -> 387[label="",style="dashed", color="magenta", weight=3]; 314 -> 388[label="",style="dashed", color="magenta", weight=3]; 315 -> 305[label="",style="dashed", color="red", weight=0]; 315[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];315 -> 389[label="",style="dashed", color="magenta", weight=3]; 315 -> 390[label="",style="dashed", color="magenta", weight=3]; 316 -> 305[label="",style="dashed", color="red", weight=0]; 316[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];316 -> 391[label="",style="dashed", color="magenta", weight=3]; 316 -> 392[label="",style="dashed", color="magenta", weight=3]; 377[label="primMulNat (Succ vuz4100) vuz3010",fontsize=16,color="burlywood",shape="box"];6725[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];377 -> 6725[label="",style="solid", color="burlywood", weight=9]; 6725 -> 480[label="",style="solid", color="burlywood", weight=3]; 6726[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];377 -> 6726[label="",style="solid", color="burlywood", weight=9]; 6726 -> 481[label="",style="solid", color="burlywood", weight=3]; 378[label="primMulNat Zero vuz3010",fontsize=16,color="burlywood",shape="box"];6727[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];378 -> 6727[label="",style="solid", color="burlywood", weight=9]; 6727 -> 482[label="",style="solid", color="burlywood", weight=3]; 6728[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];378 -> 6728[label="",style="solid", color="burlywood", weight=9]; 6728 -> 483[label="",style="solid", color="burlywood", weight=3]; 379[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos (Succ vuz300)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];379 -> 484[label="",style="solid", color="black", weight=3]; 380[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];380 -> 485[label="",style="solid", color="black", weight=3]; 466[label="vuz3010",fontsize=16,color="green",shape="box"];467[label="vuz3010",fontsize=16,color="green",shape="box"];468[label="vuz3010",fontsize=16,color="green",shape="box"];469[label="vuz3010",fontsize=16,color="green",shape="box"];470[label="vuz3010",fontsize=16,color="green",shape="box"];471[label="vuz3010",fontsize=16,color="green",shape="box"];472[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg (Succ vuz360)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];472 -> 486[label="",style="solid", color="black", weight=3]; 473[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];473 -> 487[label="",style="solid", color="black", weight=3]; 474[label="vuz410",fontsize=16,color="green",shape="box"];475[label="vuz410",fontsize=16,color="green",shape="box"];476[label="vuz410",fontsize=16,color="green",shape="box"];477[label="vuz410",fontsize=16,color="green",shape="box"];478[label="vuz410",fontsize=16,color="green",shape="box"];479[label="vuz410",fontsize=16,color="green",shape="box"];381[label="vuz410",fontsize=16,color="green",shape="box"];382[label="vuz3010",fontsize=16,color="green",shape="box"];383[label="vuz410",fontsize=16,color="green",shape="box"];384[label="vuz3010",fontsize=16,color="green",shape="box"];385[label="vuz410",fontsize=16,color="green",shape="box"];386[label="vuz3010",fontsize=16,color="green",shape="box"];387[label="vuz410",fontsize=16,color="green",shape="box"];388[label="vuz3010",fontsize=16,color="green",shape="box"];389[label="vuz410",fontsize=16,color="green",shape="box"];390[label="vuz3010",fontsize=16,color="green",shape="box"];391[label="vuz410",fontsize=16,color="green",shape="box"];392[label="vuz3010",fontsize=16,color="green",shape="box"];480[label="primMulNat (Succ vuz4100) (Succ vuz30100)",fontsize=16,color="black",shape="box"];480 -> 488[label="",style="solid", color="black", weight=3]; 481[label="primMulNat (Succ vuz4100) Zero",fontsize=16,color="black",shape="box"];481 -> 489[label="",style="solid", color="black", weight=3]; 482[label="primMulNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];482 -> 490[label="",style="solid", color="black", weight=3]; 483[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];483 -> 491[label="",style="solid", color="black", weight=3]; 484[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos (Succ vuz300)) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];484 -> 492[label="",style="solid", color="black", weight=3]; 485[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos Zero) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];485 -> 493[label="",style="solid", color="black", weight=3]; 486[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg (Succ vuz360)) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];486 -> 494[label="",style="solid", color="black", weight=3]; 487[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg Zero) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];487 -> 495[label="",style="solid", color="black", weight=3]; 488 -> 496[label="",style="dashed", color="red", weight=0]; 488[label="primPlusNat (primMulNat vuz4100 (Succ vuz30100)) (Succ vuz30100)",fontsize=16,color="magenta"];488 -> 497[label="",style="dashed", color="magenta", weight=3]; 489[label="Zero",fontsize=16,color="green",shape="box"];490[label="Zero",fontsize=16,color="green",shape="box"];491[label="Zero",fontsize=16,color="green",shape="box"];492[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) False)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) False)) vuz31",fontsize=16,color="black",shape="box"];492 -> 498[label="",style="solid", color="black", weight=3]; 493[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) True)) vuz31",fontsize=16,color="black",shape="box"];493 -> 499[label="",style="solid", color="black", weight=3]; 494[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) False)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) False)) vuz31",fontsize=16,color="black",shape="box"];494 -> 500[label="",style="solid", color="black", weight=3]; 495[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) True)) vuz31",fontsize=16,color="black",shape="box"];495 -> 501[label="",style="solid", color="black", weight=3]; 497 -> 305[label="",style="dashed", color="red", weight=0]; 497[label="primMulNat vuz4100 (Succ vuz30100)",fontsize=16,color="magenta"];497 -> 502[label="",style="dashed", color="magenta", weight=3]; 497 -> 503[label="",style="dashed", color="magenta", weight=3]; 496[label="primPlusNat vuz37 (Succ vuz30100)",fontsize=16,color="burlywood",shape="triangle"];6729[label="vuz37/Succ vuz370",fontsize=10,color="white",style="solid",shape="box"];496 -> 6729[label="",style="solid", color="burlywood", weight=9]; 6729 -> 504[label="",style="solid", color="burlywood", weight=3]; 6730[label="vuz37/Zero",fontsize=10,color="white",style="solid",shape="box"];496 -> 6730[label="",style="solid", color="burlywood", weight=9]; 6730 -> 505[label="",style="solid", color="burlywood", weight=3]; 498[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) otherwise)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) otherwise)) vuz31",fontsize=16,color="black",shape="box"];498 -> 506[label="",style="solid", color="black", weight=3]; 499[label="enforceWHNF (WHNF (error [])) (foldl' (*) (error [])) vuz31",fontsize=16,color="black",shape="triangle"];499 -> 507[label="",style="solid", color="black", weight=3]; 500[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) otherwise)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) otherwise)) vuz31",fontsize=16,color="black",shape="box"];500 -> 508[label="",style="solid", color="black", weight=3]; 501 -> 499[label="",style="dashed", color="red", weight=0]; 501[label="enforceWHNF (WHNF (error [])) (foldl' (*) (error [])) vuz31",fontsize=16,color="magenta"];502[label="vuz4100",fontsize=16,color="green",shape="box"];503[label="Succ vuz30100",fontsize=16,color="green",shape="box"];504[label="primPlusNat (Succ vuz370) (Succ vuz30100)",fontsize=16,color="black",shape="box"];504 -> 509[label="",style="solid", color="black", weight=3]; 505[label="primPlusNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];505 -> 510[label="",style="solid", color="black", weight=3]; 506[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) vuz31",fontsize=16,color="black",shape="box"];506 -> 511[label="",style="solid", color="black", weight=3]; 507[label="error []",fontsize=16,color="red",shape="box"];508[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) vuz31",fontsize=16,color="black",shape="box"];508 -> 512[label="",style="solid", color="black", weight=3]; 509[label="Succ (Succ (primPlusNat vuz370 vuz30100))",fontsize=16,color="green",shape="box"];509 -> 513[label="",style="dashed", color="green", weight=3]; 510[label="Succ vuz30100",fontsize=16,color="green",shape="box"];511 -> 1782[label="",style="dashed", color="red", weight=0]; 511[label="enforceWHNF (WHNF (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28) :% (Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)))) (foldl' (*) (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28) :% (Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)))) vuz31",fontsize=16,color="magenta"];511 -> 1783[label="",style="dashed", color="magenta", weight=3]; 511 -> 1784[label="",style="dashed", color="magenta", weight=3]; 511 -> 1785[label="",style="dashed", color="magenta", weight=3]; 511 -> 1786[label="",style="dashed", color="magenta", weight=3]; 512 -> 1782[label="",style="dashed", color="red", weight=0]; 512[label="enforceWHNF (WHNF (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34) :% (Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)))) (foldl' (*) (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34) :% (Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)))) vuz31",fontsize=16,color="magenta"];512 -> 1787[label="",style="dashed", color="magenta", weight=3]; 512 -> 1788[label="",style="dashed", color="magenta", weight=3]; 512 -> 1789[label="",style="dashed", color="magenta", weight=3]; 512 -> 1790[label="",style="dashed", color="magenta", weight=3]; 513[label="primPlusNat vuz370 vuz30100",fontsize=16,color="burlywood",shape="triangle"];6731[label="vuz370/Succ vuz3700",fontsize=10,color="white",style="solid",shape="box"];513 -> 6731[label="",style="solid", color="burlywood", weight=9]; 6731 -> 516[label="",style="solid", color="burlywood", weight=3]; 6732[label="vuz370/Zero",fontsize=10,color="white",style="solid",shape="box"];513 -> 6732[label="",style="solid", color="burlywood", weight=9]; 6732 -> 517[label="",style="solid", color="burlywood", weight=3]; 1783[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];1783 -> 3901[label="",style="solid", color="black", weight=3]; 1784[label="Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];1784 -> 3902[label="",style="solid", color="black", weight=3]; 1785 -> 1784[label="",style="dashed", color="red", weight=0]; 1785[label="Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="magenta"];1786 -> 1783[label="",style="dashed", color="red", weight=0]; 1786[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="magenta"];1782[label="enforceWHNF (WHNF (vuz104 :% vuz90)) (foldl' (*) (vuz103 :% vuz89)) vuz31",fontsize=16,color="black",shape="triangle"];1782 -> 3903[label="",style="solid", color="black", weight=3]; 1787[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];1787 -> 3904[label="",style="solid", color="black", weight=3]; 1788[label="Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];1788 -> 3905[label="",style="solid", color="black", weight=3]; 1789 -> 1788[label="",style="dashed", color="red", weight=0]; 1789[label="Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="magenta"];1790 -> 1787[label="",style="dashed", color="red", weight=0]; 1790[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="magenta"];516[label="primPlusNat (Succ vuz3700) vuz30100",fontsize=16,color="burlywood",shape="box"];6733[label="vuz30100/Succ vuz301000",fontsize=10,color="white",style="solid",shape="box"];516 -> 6733[label="",style="solid", color="burlywood", weight=9]; 6733 -> 520[label="",style="solid", color="burlywood", weight=3]; 6734[label="vuz30100/Zero",fontsize=10,color="white",style="solid",shape="box"];516 -> 6734[label="",style="solid", color="burlywood", weight=9]; 6734 -> 521[label="",style="solid", color="burlywood", weight=3]; 517[label="primPlusNat Zero vuz30100",fontsize=16,color="burlywood",shape="box"];6735[label="vuz30100/Succ vuz301000",fontsize=10,color="white",style="solid",shape="box"];517 -> 6735[label="",style="solid", color="burlywood", weight=9]; 6735 -> 522[label="",style="solid", color="burlywood", weight=3]; 6736[label="vuz30100/Zero",fontsize=10,color="white",style="solid",shape="box"];517 -> 6736[label="",style="solid", color="burlywood", weight=9]; 6736 -> 523[label="",style="solid", color="burlywood", weight=3]; 3901[label="primQuotInt (vuz40 * vuz300) (reduce2D (vuz40 * vuz300) (Pos vuz28))",fontsize=16,color="black",shape="box"];3901 -> 3906[label="",style="solid", color="black", weight=3]; 3902 -> 5758[label="",style="dashed", color="red", weight=0]; 3902[label="primQuotInt (Pos vuz27) (reduce2D (vuz40 * vuz300) (Pos vuz28))",fontsize=16,color="magenta"];3902 -> 5759[label="",style="dashed", color="magenta", weight=3]; 3903[label="foldl' (*) (vuz103 :% vuz89) vuz31",fontsize=16,color="burlywood",shape="box"];6737[label="vuz31/vuz310 : vuz311",fontsize=10,color="white",style="solid",shape="box"];3903 -> 6737[label="",style="solid", color="burlywood", weight=9]; 6737 -> 3908[label="",style="solid", color="burlywood", weight=3]; 6738[label="vuz31/[]",fontsize=10,color="white",style="solid",shape="box"];3903 -> 6738[label="",style="solid", color="burlywood", weight=9]; 6738 -> 3909[label="",style="solid", color="burlywood", weight=3]; 3904[label="primQuotInt (vuz40 * vuz300) (reduce2D (vuz40 * vuz300) (Neg vuz34))",fontsize=16,color="black",shape="box"];3904 -> 3910[label="",style="solid", color="black", weight=3]; 3905 -> 4543[label="",style="dashed", color="red", weight=0]; 3905[label="primQuotInt (Neg vuz33) (reduce2D (vuz40 * vuz300) (Neg vuz34))",fontsize=16,color="magenta"];3905 -> 4544[label="",style="dashed", color="magenta", weight=3]; 3905 -> 4545[label="",style="dashed", color="magenta", weight=3]; 520[label="primPlusNat (Succ vuz3700) (Succ vuz301000)",fontsize=16,color="black",shape="box"];520 -> 528[label="",style="solid", color="black", weight=3]; 521[label="primPlusNat (Succ vuz3700) Zero",fontsize=16,color="black",shape="box"];521 -> 529[label="",style="solid", color="black", weight=3]; 522[label="primPlusNat Zero (Succ vuz301000)",fontsize=16,color="black",shape="box"];522 -> 530[label="",style="solid", color="black", weight=3]; 523[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];523 -> 531[label="",style="solid", color="black", weight=3]; 3906[label="primQuotInt (primMulInt vuz40 vuz300) (reduce2D (primMulInt vuz40 vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6739[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];3906 -> 6739[label="",style="solid", color="burlywood", weight=9]; 6739 -> 3912[label="",style="solid", color="burlywood", weight=3]; 6740[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];3906 -> 6740[label="",style="solid", color="burlywood", weight=9]; 6740 -> 3913[label="",style="solid", color="burlywood", weight=3]; 5759[label="reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];5759 -> 6168[label="",style="solid", color="black", weight=3]; 5758[label="primQuotInt (Pos vuz27) vuz166",fontsize=16,color="burlywood",shape="triangle"];6741[label="vuz166/Pos vuz1660",fontsize=10,color="white",style="solid",shape="box"];5758 -> 6741[label="",style="solid", color="burlywood", weight=9]; 6741 -> 6169[label="",style="solid", color="burlywood", weight=3]; 6742[label="vuz166/Neg vuz1660",fontsize=10,color="white",style="solid",shape="box"];5758 -> 6742[label="",style="solid", color="burlywood", weight=9]; 6742 -> 6170[label="",style="solid", color="burlywood", weight=3]; 3908[label="foldl' (*) (vuz103 :% vuz89) (vuz310 : vuz311)",fontsize=16,color="black",shape="box"];3908 -> 3915[label="",style="solid", color="black", weight=3]; 3909[label="foldl' (*) (vuz103 :% vuz89) []",fontsize=16,color="black",shape="box"];3909 -> 3916[label="",style="solid", color="black", weight=3]; 3910[label="primQuotInt (primMulInt vuz40 vuz300) (reduce2D (primMulInt vuz40 vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6743[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];3910 -> 6743[label="",style="solid", color="burlywood", weight=9]; 6743 -> 3917[label="",style="solid", color="burlywood", weight=3]; 6744[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];3910 -> 6744[label="",style="solid", color="burlywood", weight=9]; 6744 -> 3918[label="",style="solid", color="burlywood", weight=3]; 4544[label="reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4544 -> 4990[label="",style="solid", color="black", weight=3]; 4545[label="vuz33",fontsize=16,color="green",shape="box"];4543[label="primQuotInt (Neg vuz122) vuz123",fontsize=16,color="burlywood",shape="triangle"];6745[label="vuz123/Pos vuz1230",fontsize=10,color="white",style="solid",shape="box"];4543 -> 6745[label="",style="solid", color="burlywood", weight=9]; 6745 -> 4991[label="",style="solid", color="burlywood", weight=3]; 6746[label="vuz123/Neg vuz1230",fontsize=10,color="white",style="solid",shape="box"];4543 -> 6746[label="",style="solid", color="burlywood", weight=9]; 6746 -> 4992[label="",style="solid", color="burlywood", weight=3]; 528[label="Succ (Succ (primPlusNat vuz3700 vuz301000))",fontsize=16,color="green",shape="box"];528 -> 540[label="",style="dashed", color="green", weight=3]; 529[label="Succ vuz3700",fontsize=16,color="green",shape="box"];530[label="Succ vuz301000",fontsize=16,color="green",shape="box"];531[label="Zero",fontsize=16,color="green",shape="box"];3912[label="primQuotInt (primMulInt (Pos vuz400) vuz300) (reduce2D (primMulInt (Pos vuz400) vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6747[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3912 -> 6747[label="",style="solid", color="burlywood", weight=9]; 6747 -> 3920[label="",style="solid", color="burlywood", weight=3]; 6748[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3912 -> 6748[label="",style="solid", color="burlywood", weight=9]; 6748 -> 3921[label="",style="solid", color="burlywood", weight=3]; 3913[label="primQuotInt (primMulInt (Neg vuz400) vuz300) (reduce2D (primMulInt (Neg vuz400) vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6749[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3913 -> 6749[label="",style="solid", color="burlywood", weight=9]; 6749 -> 3922[label="",style="solid", color="burlywood", weight=3]; 6750[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3913 -> 6750[label="",style="solid", color="burlywood", weight=9]; 6750 -> 3923[label="",style="solid", color="burlywood", weight=3]; 6168[label="gcd (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6168 -> 6174[label="",style="solid", color="black", weight=3]; 6169[label="primQuotInt (Pos vuz27) (Pos vuz1660)",fontsize=16,color="burlywood",shape="box"];6751[label="vuz1660/Succ vuz16600",fontsize=10,color="white",style="solid",shape="box"];6169 -> 6751[label="",style="solid", color="burlywood", weight=9]; 6751 -> 6175[label="",style="solid", color="burlywood", weight=3]; 6752[label="vuz1660/Zero",fontsize=10,color="white",style="solid",shape="box"];6169 -> 6752[label="",style="solid", color="burlywood", weight=9]; 6752 -> 6176[label="",style="solid", color="burlywood", weight=3]; 6170[label="primQuotInt (Pos vuz27) (Neg vuz1660)",fontsize=16,color="burlywood",shape="box"];6753[label="vuz1660/Succ vuz16600",fontsize=10,color="white",style="solid",shape="box"];6170 -> 6753[label="",style="solid", color="burlywood", weight=9]; 6753 -> 6177[label="",style="solid", color="burlywood", weight=3]; 6754[label="vuz1660/Zero",fontsize=10,color="white",style="solid",shape="box"];6170 -> 6754[label="",style="solid", color="burlywood", weight=9]; 6754 -> 6178[label="",style="solid", color="burlywood", weight=3]; 3915[label="(foldl' (*) $! (*) (vuz103 :% vuz89) vuz310)",fontsize=16,color="black",shape="box"];3915 -> 3925[label="",style="solid", color="black", weight=3]; 3916[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3917[label="primQuotInt (primMulInt (Pos vuz400) vuz300) (reduce2D (primMulInt (Pos vuz400) vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6755[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3917 -> 6755[label="",style="solid", color="burlywood", weight=9]; 6755 -> 3926[label="",style="solid", color="burlywood", weight=3]; 6756[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3917 -> 6756[label="",style="solid", color="burlywood", weight=9]; 6756 -> 3927[label="",style="solid", color="burlywood", weight=3]; 3918[label="primQuotInt (primMulInt (Neg vuz400) vuz300) (reduce2D (primMulInt (Neg vuz400) vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6757[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 6757[label="",style="solid", color="burlywood", weight=9]; 6757 -> 3928[label="",style="solid", color="burlywood", weight=3]; 6758[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 6758[label="",style="solid", color="burlywood", weight=9]; 6758 -> 3929[label="",style="solid", color="burlywood", weight=3]; 4990[label="gcd (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4990 -> 4996[label="",style="solid", color="black", weight=3]; 4991[label="primQuotInt (Neg vuz122) (Pos vuz1230)",fontsize=16,color="burlywood",shape="box"];6759[label="vuz1230/Succ vuz12300",fontsize=10,color="white",style="solid",shape="box"];4991 -> 6759[label="",style="solid", color="burlywood", weight=9]; 6759 -> 4997[label="",style="solid", color="burlywood", weight=3]; 6760[label="vuz1230/Zero",fontsize=10,color="white",style="solid",shape="box"];4991 -> 6760[label="",style="solid", color="burlywood", weight=9]; 6760 -> 4998[label="",style="solid", color="burlywood", weight=3]; 4992[label="primQuotInt (Neg vuz122) (Neg vuz1230)",fontsize=16,color="burlywood",shape="box"];6761[label="vuz1230/Succ vuz12300",fontsize=10,color="white",style="solid",shape="box"];4992 -> 6761[label="",style="solid", color="burlywood", weight=9]; 6761 -> 4999[label="",style="solid", color="burlywood", weight=3]; 6762[label="vuz1230/Zero",fontsize=10,color="white",style="solid",shape="box"];4992 -> 6762[label="",style="solid", color="burlywood", weight=9]; 6762 -> 5000[label="",style="solid", color="burlywood", weight=3]; 540 -> 513[label="",style="dashed", color="red", weight=0]; 540[label="primPlusNat vuz3700 vuz301000",fontsize=16,color="magenta"];540 -> 549[label="",style="dashed", color="magenta", weight=3]; 540 -> 550[label="",style="dashed", color="magenta", weight=3]; 3920[label="primQuotInt (primMulInt (Pos vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Pos vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3920 -> 3931[label="",style="solid", color="black", weight=3]; 3921[label="primQuotInt (primMulInt (Pos vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Neg vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3921 -> 3932[label="",style="solid", color="black", weight=3]; 3922[label="primQuotInt (primMulInt (Neg vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Pos vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3922 -> 3933[label="",style="solid", color="black", weight=3]; 3923[label="primQuotInt (primMulInt (Neg vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Neg vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3923 -> 3934[label="",style="solid", color="black", weight=3]; 6174[label="gcd3 (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6174 -> 6186[label="",style="solid", color="black", weight=3]; 6175[label="primQuotInt (Pos vuz27) (Pos (Succ vuz16600))",fontsize=16,color="black",shape="box"];6175 -> 6187[label="",style="solid", color="black", weight=3]; 6176[label="primQuotInt (Pos vuz27) (Pos Zero)",fontsize=16,color="black",shape="box"];6176 -> 6188[label="",style="solid", color="black", weight=3]; 6177[label="primQuotInt (Pos vuz27) (Neg (Succ vuz16600))",fontsize=16,color="black",shape="box"];6177 -> 6189[label="",style="solid", color="black", weight=3]; 6178[label="primQuotInt (Pos vuz27) (Neg Zero)",fontsize=16,color="black",shape="box"];6178 -> 6190[label="",style="solid", color="black", weight=3]; 3925 -> 11[label="",style="dashed", color="red", weight=0]; 3925[label="((*) (vuz103 :% vuz89) vuz310 `seq` foldl' (*) ((*) (vuz103 :% vuz89) vuz310))",fontsize=16,color="magenta"];3925 -> 3936[label="",style="dashed", color="magenta", weight=3]; 3925 -> 3937[label="",style="dashed", color="magenta", weight=3]; 3925 -> 3938[label="",style="dashed", color="magenta", weight=3]; 3925 -> 3939[label="",style="dashed", color="magenta", weight=3]; 3926[label="primQuotInt (primMulInt (Pos vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Pos vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3926 -> 3940[label="",style="solid", color="black", weight=3]; 3927[label="primQuotInt (primMulInt (Pos vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Neg vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3927 -> 3941[label="",style="solid", color="black", weight=3]; 3928[label="primQuotInt (primMulInt (Neg vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Pos vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3928 -> 3942[label="",style="solid", color="black", weight=3]; 3929[label="primQuotInt (primMulInt (Neg vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Neg vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3929 -> 3943[label="",style="solid", color="black", weight=3]; 4996[label="gcd3 (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4996 -> 5008[label="",style="solid", color="black", weight=3]; 4997[label="primQuotInt (Neg vuz122) (Pos (Succ vuz12300))",fontsize=16,color="black",shape="box"];4997 -> 5009[label="",style="solid", color="black", weight=3]; 4998[label="primQuotInt (Neg vuz122) (Pos Zero)",fontsize=16,color="black",shape="box"];4998 -> 5010[label="",style="solid", color="black", weight=3]; 4999[label="primQuotInt (Neg vuz122) (Neg (Succ vuz12300))",fontsize=16,color="black",shape="box"];4999 -> 5011[label="",style="solid", color="black", weight=3]; 5000[label="primQuotInt (Neg vuz122) (Neg Zero)",fontsize=16,color="black",shape="box"];5000 -> 5012[label="",style="solid", color="black", weight=3]; 549[label="vuz301000",fontsize=16,color="green",shape="box"];550[label="vuz3700",fontsize=16,color="green",shape="box"];3931 -> 5758[label="",style="dashed", color="red", weight=0]; 3931[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3931 -> 5763[label="",style="dashed", color="magenta", weight=3]; 3931 -> 5764[label="",style="dashed", color="magenta", weight=3]; 3932 -> 4543[label="",style="dashed", color="red", weight=0]; 3932[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3932 -> 4552[label="",style="dashed", color="magenta", weight=3]; 3932 -> 4553[label="",style="dashed", color="magenta", weight=3]; 3933 -> 4543[label="",style="dashed", color="red", weight=0]; 3933[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3933 -> 4554[label="",style="dashed", color="magenta", weight=3]; 3933 -> 4555[label="",style="dashed", color="magenta", weight=3]; 3934 -> 5758[label="",style="dashed", color="red", weight=0]; 3934[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3934 -> 5765[label="",style="dashed", color="magenta", weight=3]; 3934 -> 5766[label="",style="dashed", color="magenta", weight=3]; 6186[label="gcd2 (vuz40 * vuz300 == fromInt (Pos Zero)) (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6186 -> 6215[label="",style="solid", color="black", weight=3]; 6187[label="Pos (primDivNatS vuz27 (Succ vuz16600))",fontsize=16,color="green",shape="box"];6187 -> 6216[label="",style="dashed", color="green", weight=3]; 6188 -> 5010[label="",style="dashed", color="red", weight=0]; 6188[label="error []",fontsize=16,color="magenta"];6189[label="Neg (primDivNatS vuz27 (Succ vuz16600))",fontsize=16,color="green",shape="box"];6189 -> 6217[label="",style="dashed", color="green", weight=3]; 6190 -> 5010[label="",style="dashed", color="red", weight=0]; 6190[label="error []",fontsize=16,color="magenta"];3936[label="vuz311",fontsize=16,color="green",shape="box"];3937[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3938[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3939[label="vuz310",fontsize=16,color="green",shape="box"];3940 -> 5758[label="",style="dashed", color="red", weight=0]; 3940[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3940 -> 5768[label="",style="dashed", color="magenta", weight=3]; 3940 -> 5769[label="",style="dashed", color="magenta", weight=3]; 3941 -> 4543[label="",style="dashed", color="red", weight=0]; 3941[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3941 -> 4556[label="",style="dashed", color="magenta", weight=3]; 3941 -> 4557[label="",style="dashed", color="magenta", weight=3]; 3942 -> 4543[label="",style="dashed", color="red", weight=0]; 3942[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3942 -> 4558[label="",style="dashed", color="magenta", weight=3]; 3942 -> 4559[label="",style="dashed", color="magenta", weight=3]; 3943 -> 5758[label="",style="dashed", color="red", weight=0]; 3943[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3943 -> 5770[label="",style="dashed", color="magenta", weight=3]; 3943 -> 5771[label="",style="dashed", color="magenta", weight=3]; 5008[label="gcd2 (vuz40 * vuz300 == fromInt (Pos Zero)) (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];5008 -> 5033[label="",style="solid", color="black", weight=3]; 5009[label="Neg (primDivNatS vuz122 (Succ vuz12300))",fontsize=16,color="green",shape="box"];5009 -> 5034[label="",style="dashed", color="green", weight=3]; 5010[label="error []",fontsize=16,color="black",shape="triangle"];5010 -> 5035[label="",style="solid", color="black", weight=3]; 5011[label="Pos (primDivNatS vuz122 (Succ vuz12300))",fontsize=16,color="green",shape="box"];5011 -> 5036[label="",style="dashed", color="green", weight=3]; 5012 -> 5010[label="",style="dashed", color="red", weight=0]; 5012[label="error []",fontsize=16,color="magenta"];5763 -> 6171[label="",style="dashed", color="red", weight=0]; 5763[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];5763 -> 6172[label="",style="dashed", color="magenta", weight=3]; 5764 -> 305[label="",style="dashed", color="red", weight=0]; 5764[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5764 -> 6179[label="",style="dashed", color="magenta", weight=3]; 5764 -> 6180[label="",style="dashed", color="magenta", weight=3]; 4552 -> 4993[label="",style="dashed", color="red", weight=0]; 4552[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];4552 -> 4994[label="",style="dashed", color="magenta", weight=3]; 4553 -> 305[label="",style="dashed", color="red", weight=0]; 4553[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4553 -> 5001[label="",style="dashed", color="magenta", weight=3]; 4553 -> 5002[label="",style="dashed", color="magenta", weight=3]; 4554 -> 4993[label="",style="dashed", color="red", weight=0]; 4554[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];4554 -> 4995[label="",style="dashed", color="magenta", weight=3]; 4555 -> 305[label="",style="dashed", color="red", weight=0]; 4555[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4555 -> 5003[label="",style="dashed", color="magenta", weight=3]; 4555 -> 5004[label="",style="dashed", color="magenta", weight=3]; 5765 -> 6171[label="",style="dashed", color="red", weight=0]; 5765[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];5765 -> 6173[label="",style="dashed", color="magenta", weight=3]; 5766 -> 305[label="",style="dashed", color="red", weight=0]; 5766[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5766 -> 6181[label="",style="dashed", color="magenta", weight=3]; 5766 -> 6182[label="",style="dashed", color="magenta", weight=3]; 6215[label="gcd2 (primEqInt (vuz40 * vuz300) (fromInt (Pos Zero))) (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6215 -> 6231[label="",style="solid", color="black", weight=3]; 6216 -> 5034[label="",style="dashed", color="red", weight=0]; 6216[label="primDivNatS vuz27 (Succ vuz16600)",fontsize=16,color="magenta"];6216 -> 6232[label="",style="dashed", color="magenta", weight=3]; 6216 -> 6233[label="",style="dashed", color="magenta", weight=3]; 6217 -> 5034[label="",style="dashed", color="red", weight=0]; 6217[label="primDivNatS vuz27 (Succ vuz16600)",fontsize=16,color="magenta"];6217 -> 6234[label="",style="dashed", color="magenta", weight=3]; 6217 -> 6235[label="",style="dashed", color="magenta", weight=3]; 5768 -> 6183[label="",style="dashed", color="red", weight=0]; 5768[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5768 -> 6184[label="",style="dashed", color="magenta", weight=3]; 5769 -> 305[label="",style="dashed", color="red", weight=0]; 5769[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5769 -> 6191[label="",style="dashed", color="magenta", weight=3]; 5769 -> 6192[label="",style="dashed", color="magenta", weight=3]; 4556 -> 5005[label="",style="dashed", color="red", weight=0]; 4556[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];4556 -> 5006[label="",style="dashed", color="magenta", weight=3]; 4557 -> 305[label="",style="dashed", color="red", weight=0]; 4557[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4557 -> 5013[label="",style="dashed", color="magenta", weight=3]; 4557 -> 5014[label="",style="dashed", color="magenta", weight=3]; 4558 -> 5005[label="",style="dashed", color="red", weight=0]; 4558[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];4558 -> 5007[label="",style="dashed", color="magenta", weight=3]; 4559 -> 305[label="",style="dashed", color="red", weight=0]; 4559[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4559 -> 5015[label="",style="dashed", color="magenta", weight=3]; 4559 -> 5016[label="",style="dashed", color="magenta", weight=3]; 5770 -> 6183[label="",style="dashed", color="red", weight=0]; 5770[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5770 -> 6185[label="",style="dashed", color="magenta", weight=3]; 5771 -> 305[label="",style="dashed", color="red", weight=0]; 5771[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5771 -> 6193[label="",style="dashed", color="magenta", weight=3]; 5771 -> 6194[label="",style="dashed", color="magenta", weight=3]; 5033[label="gcd2 (primEqInt (vuz40 * vuz300) (fromInt (Pos Zero))) (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];5033 -> 5047[label="",style="solid", color="black", weight=3]; 5034[label="primDivNatS vuz122 (Succ vuz12300)",fontsize=16,color="burlywood",shape="triangle"];6763[label="vuz122/Succ vuz1220",fontsize=10,color="white",style="solid",shape="box"];5034 -> 6763[label="",style="solid", color="burlywood", weight=9]; 6763 -> 5048[label="",style="solid", color="burlywood", weight=3]; 6764[label="vuz122/Zero",fontsize=10,color="white",style="solid",shape="box"];5034 -> 6764[label="",style="solid", color="burlywood", weight=9]; 6764 -> 5049[label="",style="solid", color="burlywood", weight=3]; 5035[label="error []",fontsize=16,color="red",shape="box"];5036 -> 5034[label="",style="dashed", color="red", weight=0]; 5036[label="primDivNatS vuz122 (Succ vuz12300)",fontsize=16,color="magenta"];5036 -> 5050[label="",style="dashed", color="magenta", weight=3]; 6172 -> 305[label="",style="dashed", color="red", weight=0]; 6172[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6172 -> 6195[label="",style="dashed", color="magenta", weight=3]; 6172 -> 6196[label="",style="dashed", color="magenta", weight=3]; 6171[label="reduce2D (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];6171 -> 6197[label="",style="solid", color="black", weight=3]; 6179[label="vuz400",fontsize=16,color="green",shape="box"];6180[label="vuz3000",fontsize=16,color="green",shape="box"];4994 -> 305[label="",style="dashed", color="red", weight=0]; 4994[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4994 -> 5017[label="",style="dashed", color="magenta", weight=3]; 4994 -> 5018[label="",style="dashed", color="magenta", weight=3]; 4993[label="reduce2D (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];4993 -> 5019[label="",style="solid", color="black", weight=3]; 5001[label="vuz400",fontsize=16,color="green",shape="box"];5002[label="vuz3000",fontsize=16,color="green",shape="box"];4995 -> 305[label="",style="dashed", color="red", weight=0]; 4995[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4995 -> 5020[label="",style="dashed", color="magenta", weight=3]; 4995 -> 5021[label="",style="dashed", color="magenta", weight=3]; 5003[label="vuz400",fontsize=16,color="green",shape="box"];5004[label="vuz3000",fontsize=16,color="green",shape="box"];6173 -> 305[label="",style="dashed", color="red", weight=0]; 6173[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6173 -> 6198[label="",style="dashed", color="magenta", weight=3]; 6173 -> 6199[label="",style="dashed", color="magenta", weight=3]; 6181[label="vuz400",fontsize=16,color="green",shape="box"];6182[label="vuz3000",fontsize=16,color="green",shape="box"];6231[label="gcd2 (primEqInt (primMulInt vuz40 vuz300) (fromInt (Pos Zero))) (primMulInt vuz40 vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6765[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];6231 -> 6765[label="",style="solid", color="burlywood", weight=9]; 6765 -> 6247[label="",style="solid", color="burlywood", weight=3]; 6766[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];6231 -> 6766[label="",style="solid", color="burlywood", weight=9]; 6766 -> 6248[label="",style="solid", color="burlywood", weight=3]; 6232[label="vuz16600",fontsize=16,color="green",shape="box"];6233[label="vuz27",fontsize=16,color="green",shape="box"];6234[label="vuz16600",fontsize=16,color="green",shape="box"];6235[label="vuz27",fontsize=16,color="green",shape="box"];6184 -> 305[label="",style="dashed", color="red", weight=0]; 6184[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6184 -> 6200[label="",style="dashed", color="magenta", weight=3]; 6184 -> 6201[label="",style="dashed", color="magenta", weight=3]; 6183[label="reduce2D (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];6183 -> 6202[label="",style="solid", color="black", weight=3]; 6191[label="vuz400",fontsize=16,color="green",shape="box"];6192[label="vuz3000",fontsize=16,color="green",shape="box"];5006 -> 305[label="",style="dashed", color="red", weight=0]; 5006[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5006 -> 5022[label="",style="dashed", color="magenta", weight=3]; 5006 -> 5023[label="",style="dashed", color="magenta", weight=3]; 5005[label="reduce2D (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];5005 -> 5024[label="",style="solid", color="black", weight=3]; 5013[label="vuz400",fontsize=16,color="green",shape="box"];5014[label="vuz3000",fontsize=16,color="green",shape="box"];5007 -> 305[label="",style="dashed", color="red", weight=0]; 5007[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5007 -> 5025[label="",style="dashed", color="magenta", weight=3]; 5007 -> 5026[label="",style="dashed", color="magenta", weight=3]; 5015[label="vuz400",fontsize=16,color="green",shape="box"];5016[label="vuz3000",fontsize=16,color="green",shape="box"];6185 -> 305[label="",style="dashed", color="red", weight=0]; 6185[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6185 -> 6203[label="",style="dashed", color="magenta", weight=3]; 6185 -> 6204[label="",style="dashed", color="magenta", weight=3]; 6193[label="vuz400",fontsize=16,color="green",shape="box"];6194[label="vuz3000",fontsize=16,color="green",shape="box"];5047[label="gcd2 (primEqInt (primMulInt vuz40 vuz300) (fromInt (Pos Zero))) (primMulInt vuz40 vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6767[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];5047 -> 6767[label="",style="solid", color="burlywood", weight=9]; 6767 -> 5059[label="",style="solid", color="burlywood", weight=3]; 6768[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];5047 -> 6768[label="",style="solid", color="burlywood", weight=9]; 6768 -> 5060[label="",style="solid", color="burlywood", weight=3]; 5048[label="primDivNatS (Succ vuz1220) (Succ vuz12300)",fontsize=16,color="black",shape="box"];5048 -> 5061[label="",style="solid", color="black", weight=3]; 5049[label="primDivNatS Zero (Succ vuz12300)",fontsize=16,color="black",shape="box"];5049 -> 5062[label="",style="solid", color="black", weight=3]; 5050[label="vuz12300",fontsize=16,color="green",shape="box"];6195[label="vuz400",fontsize=16,color="green",shape="box"];6196[label="vuz3000",fontsize=16,color="green",shape="box"];6197[label="gcd (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6197 -> 6218[label="",style="solid", color="black", weight=3]; 5017[label="vuz400",fontsize=16,color="green",shape="box"];5018[label="vuz3000",fontsize=16,color="green",shape="box"];5019[label="gcd (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5019 -> 5037[label="",style="solid", color="black", weight=3]; 5020[label="vuz400",fontsize=16,color="green",shape="box"];5021[label="vuz3000",fontsize=16,color="green",shape="box"];6198[label="vuz400",fontsize=16,color="green",shape="box"];6199[label="vuz3000",fontsize=16,color="green",shape="box"];6247[label="gcd2 (primEqInt (primMulInt (Pos vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6769[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];6247 -> 6769[label="",style="solid", color="burlywood", weight=9]; 6769 -> 6258[label="",style="solid", color="burlywood", weight=3]; 6770[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];6247 -> 6770[label="",style="solid", color="burlywood", weight=9]; 6770 -> 6259[label="",style="solid", color="burlywood", weight=3]; 6248[label="gcd2 (primEqInt (primMulInt (Neg vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6771[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];6248 -> 6771[label="",style="solid", color="burlywood", weight=9]; 6771 -> 6260[label="",style="solid", color="burlywood", weight=3]; 6772[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];6248 -> 6772[label="",style="solid", color="burlywood", weight=9]; 6772 -> 6261[label="",style="solid", color="burlywood", weight=3]; 6200[label="vuz400",fontsize=16,color="green",shape="box"];6201[label="vuz3000",fontsize=16,color="green",shape="box"];6202[label="gcd (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6202 -> 6219[label="",style="solid", color="black", weight=3]; 5022[label="vuz400",fontsize=16,color="green",shape="box"];5023[label="vuz3000",fontsize=16,color="green",shape="box"];5024[label="gcd (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5024 -> 5038[label="",style="solid", color="black", weight=3]; 5025[label="vuz400",fontsize=16,color="green",shape="box"];5026[label="vuz3000",fontsize=16,color="green",shape="box"];6203[label="vuz400",fontsize=16,color="green",shape="box"];6204[label="vuz3000",fontsize=16,color="green",shape="box"];5059[label="gcd2 (primEqInt (primMulInt (Pos vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6773[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];5059 -> 6773[label="",style="solid", color="burlywood", weight=9]; 6773 -> 5071[label="",style="solid", color="burlywood", weight=3]; 6774[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];5059 -> 6774[label="",style="solid", color="burlywood", weight=9]; 6774 -> 5072[label="",style="solid", color="burlywood", weight=3]; 5060[label="gcd2 (primEqInt (primMulInt (Neg vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6775[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];5060 -> 6775[label="",style="solid", color="burlywood", weight=9]; 6775 -> 5073[label="",style="solid", color="burlywood", weight=3]; 6776[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];5060 -> 6776[label="",style="solid", color="burlywood", weight=9]; 6776 -> 5074[label="",style="solid", color="burlywood", weight=3]; 5061[label="primDivNatS0 vuz1220 vuz12300 (primGEqNatS vuz1220 vuz12300)",fontsize=16,color="burlywood",shape="box"];6777[label="vuz1220/Succ vuz12200",fontsize=10,color="white",style="solid",shape="box"];5061 -> 6777[label="",style="solid", color="burlywood", weight=9]; 6777 -> 5075[label="",style="solid", color="burlywood", weight=3]; 6778[label="vuz1220/Zero",fontsize=10,color="white",style="solid",shape="box"];5061 -> 6778[label="",style="solid", color="burlywood", weight=9]; 6778 -> 5076[label="",style="solid", color="burlywood", weight=3]; 5062[label="Zero",fontsize=16,color="green",shape="box"];6218[label="gcd3 (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6218 -> 6236[label="",style="solid", color="black", weight=3]; 5037[label="gcd3 (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5037 -> 5051[label="",style="solid", color="black", weight=3]; 6258[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Pos vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6258 -> 6274[label="",style="solid", color="black", weight=3]; 6259[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Neg vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6259 -> 6275[label="",style="solid", color="black", weight=3]; 6260[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Pos vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6260 -> 6276[label="",style="solid", color="black", weight=3]; 6261[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Neg vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6261 -> 6277[label="",style="solid", color="black", weight=3]; 6219[label="gcd3 (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6219 -> 6237[label="",style="solid", color="black", weight=3]; 5038[label="gcd3 (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5038 -> 5052[label="",style="solid", color="black", weight=3]; 5071[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Pos vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5071 -> 5088[label="",style="solid", color="black", weight=3]; 5072[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Neg vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5072 -> 5089[label="",style="solid", color="black", weight=3]; 5073[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Pos vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5073 -> 5090[label="",style="solid", color="black", weight=3]; 5074[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Neg vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5074 -> 5091[label="",style="solid", color="black", weight=3]; 5075[label="primDivNatS0 (Succ vuz12200) vuz12300 (primGEqNatS (Succ vuz12200) vuz12300)",fontsize=16,color="burlywood",shape="box"];6779[label="vuz12300/Succ vuz123000",fontsize=10,color="white",style="solid",shape="box"];5075 -> 6779[label="",style="solid", color="burlywood", weight=9]; 6779 -> 5092[label="",style="solid", color="burlywood", weight=3]; 6780[label="vuz12300/Zero",fontsize=10,color="white",style="solid",shape="box"];5075 -> 6780[label="",style="solid", color="burlywood", weight=9]; 6780 -> 5093[label="",style="solid", color="burlywood", weight=3]; 5076[label="primDivNatS0 Zero vuz12300 (primGEqNatS Zero vuz12300)",fontsize=16,color="burlywood",shape="box"];6781[label="vuz12300/Succ vuz123000",fontsize=10,color="white",style="solid",shape="box"];5076 -> 6781[label="",style="solid", color="burlywood", weight=9]; 6781 -> 5094[label="",style="solid", color="burlywood", weight=3]; 6782[label="vuz12300/Zero",fontsize=10,color="white",style="solid",shape="box"];5076 -> 6782[label="",style="solid", color="burlywood", weight=9]; 6782 -> 5095[label="",style="solid", color="burlywood", weight=3]; 6236[label="gcd2 (Pos vuz167 == fromInt (Pos Zero)) (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6236 -> 6249[label="",style="solid", color="black", weight=3]; 5051[label="gcd2 (Neg vuz124 == fromInt (Pos Zero)) (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5051 -> 5063[label="",style="solid", color="black", weight=3]; 6274 -> 6249[label="",style="dashed", color="red", weight=0]; 6274[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6274 -> 6289[label="",style="dashed", color="magenta", weight=3]; 6275 -> 5063[label="",style="dashed", color="red", weight=0]; 6275[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6275 -> 6290[label="",style="dashed", color="magenta", weight=3]; 6276 -> 5063[label="",style="dashed", color="red", weight=0]; 6276[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6276 -> 6291[label="",style="dashed", color="magenta", weight=3]; 6277 -> 6249[label="",style="dashed", color="red", weight=0]; 6277[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6277 -> 6292[label="",style="dashed", color="magenta", weight=3]; 6237[label="gcd2 (Pos vuz168 == fromInt (Pos Zero)) (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6237 -> 6250[label="",style="solid", color="black", weight=3]; 5052[label="gcd2 (Neg vuz125 == fromInt (Pos Zero)) (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5052 -> 5064[label="",style="solid", color="black", weight=3]; 5088 -> 5105[label="",style="dashed", color="red", weight=0]; 5088[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5088 -> 5106[label="",style="dashed", color="magenta", weight=3]; 5088 -> 5107[label="",style="dashed", color="magenta", weight=3]; 5089 -> 5064[label="",style="dashed", color="red", weight=0]; 5089[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5089 -> 5110[label="",style="dashed", color="magenta", weight=3]; 5090 -> 5064[label="",style="dashed", color="red", weight=0]; 5090[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5090 -> 5111[label="",style="dashed", color="magenta", weight=3]; 5091 -> 5105[label="",style="dashed", color="red", weight=0]; 5091[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5091 -> 5108[label="",style="dashed", color="magenta", weight=3]; 5091 -> 5109[label="",style="dashed", color="magenta", weight=3]; 5092[label="primDivNatS0 (Succ vuz12200) (Succ vuz123000) (primGEqNatS (Succ vuz12200) (Succ vuz123000))",fontsize=16,color="black",shape="box"];5092 -> 5112[label="",style="solid", color="black", weight=3]; 5093[label="primDivNatS0 (Succ vuz12200) Zero (primGEqNatS (Succ vuz12200) Zero)",fontsize=16,color="black",shape="box"];5093 -> 5113[label="",style="solid", color="black", weight=3]; 5094[label="primDivNatS0 Zero (Succ vuz123000) (primGEqNatS Zero (Succ vuz123000))",fontsize=16,color="black",shape="box"];5094 -> 5114[label="",style="solid", color="black", weight=3]; 5095[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];5095 -> 5115[label="",style="solid", color="black", weight=3]; 6249[label="gcd2 (primEqInt (Pos vuz167) (fromInt (Pos Zero))) (Pos vuz167) (Pos vuz28)",fontsize=16,color="burlywood",shape="triangle"];6783[label="vuz167/Succ vuz1670",fontsize=10,color="white",style="solid",shape="box"];6249 -> 6783[label="",style="solid", color="burlywood", weight=9]; 6783 -> 6262[label="",style="solid", color="burlywood", weight=3]; 6784[label="vuz167/Zero",fontsize=10,color="white",style="solid",shape="box"];6249 -> 6784[label="",style="solid", color="burlywood", weight=9]; 6784 -> 6263[label="",style="solid", color="burlywood", weight=3]; 5063[label="gcd2 (primEqInt (Neg vuz124) (fromInt (Pos Zero))) (Neg vuz124) (Pos vuz28)",fontsize=16,color="burlywood",shape="triangle"];6785[label="vuz124/Succ vuz1240",fontsize=10,color="white",style="solid",shape="box"];5063 -> 6785[label="",style="solid", color="burlywood", weight=9]; 6785 -> 5077[label="",style="solid", color="burlywood", weight=3]; 6786[label="vuz124/Zero",fontsize=10,color="white",style="solid",shape="box"];5063 -> 6786[label="",style="solid", color="burlywood", weight=9]; 6786 -> 5078[label="",style="solid", color="burlywood", weight=3]; 6289 -> 305[label="",style="dashed", color="red", weight=0]; 6289[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6289 -> 6305[label="",style="dashed", color="magenta", weight=3]; 6289 -> 6306[label="",style="dashed", color="magenta", weight=3]; 6290 -> 305[label="",style="dashed", color="red", weight=0]; 6290[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6290 -> 6307[label="",style="dashed", color="magenta", weight=3]; 6290 -> 6308[label="",style="dashed", color="magenta", weight=3]; 6291 -> 305[label="",style="dashed", color="red", weight=0]; 6291[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6291 -> 6309[label="",style="dashed", color="magenta", weight=3]; 6291 -> 6310[label="",style="dashed", color="magenta", weight=3]; 6292 -> 305[label="",style="dashed", color="red", weight=0]; 6292[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6292 -> 6311[label="",style="dashed", color="magenta", weight=3]; 6292 -> 6312[label="",style="dashed", color="magenta", weight=3]; 6250 -> 5105[label="",style="dashed", color="red", weight=0]; 6250[label="gcd2 (primEqInt (Pos vuz168) (fromInt (Pos Zero))) (Pos vuz168) (Neg vuz34)",fontsize=16,color="magenta"];6250 -> 6264[label="",style="dashed", color="magenta", weight=3]; 6250 -> 6265[label="",style="dashed", color="magenta", weight=3]; 5064[label="gcd2 (primEqInt (Neg vuz125) (fromInt (Pos Zero))) (Neg vuz125) (Neg vuz34)",fontsize=16,color="burlywood",shape="triangle"];6787[label="vuz125/Succ vuz1250",fontsize=10,color="white",style="solid",shape="box"];5064 -> 6787[label="",style="solid", color="burlywood", weight=9]; 6787 -> 5079[label="",style="solid", color="burlywood", weight=3]; 6788[label="vuz125/Zero",fontsize=10,color="white",style="solid",shape="box"];5064 -> 6788[label="",style="solid", color="burlywood", weight=9]; 6788 -> 5080[label="",style="solid", color="burlywood", weight=3]; 5106 -> 305[label="",style="dashed", color="red", weight=0]; 5106[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5106 -> 5116[label="",style="dashed", color="magenta", weight=3]; 5106 -> 5117[label="",style="dashed", color="magenta", weight=3]; 5107 -> 305[label="",style="dashed", color="red", weight=0]; 5107[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5107 -> 5118[label="",style="dashed", color="magenta", weight=3]; 5107 -> 5119[label="",style="dashed", color="magenta", weight=3]; 5105[label="gcd2 (primEqInt (Pos vuz127) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="burlywood",shape="triangle"];6789[label="vuz127/Succ vuz1270",fontsize=10,color="white",style="solid",shape="box"];5105 -> 6789[label="",style="solid", color="burlywood", weight=9]; 6789 -> 5120[label="",style="solid", color="burlywood", weight=3]; 6790[label="vuz127/Zero",fontsize=10,color="white",style="solid",shape="box"];5105 -> 6790[label="",style="solid", color="burlywood", weight=9]; 6790 -> 5121[label="",style="solid", color="burlywood", weight=3]; 5110 -> 305[label="",style="dashed", color="red", weight=0]; 5110[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5110 -> 5134[label="",style="dashed", color="magenta", weight=3]; 5110 -> 5135[label="",style="dashed", color="magenta", weight=3]; 5111 -> 305[label="",style="dashed", color="red", weight=0]; 5111[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5111 -> 5136[label="",style="dashed", color="magenta", weight=3]; 5111 -> 5137[label="",style="dashed", color="magenta", weight=3]; 5108 -> 305[label="",style="dashed", color="red", weight=0]; 5108[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5108 -> 5122[label="",style="dashed", color="magenta", weight=3]; 5108 -> 5123[label="",style="dashed", color="magenta", weight=3]; 5109 -> 305[label="",style="dashed", color="red", weight=0]; 5109[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5109 -> 5124[label="",style="dashed", color="magenta", weight=3]; 5109 -> 5125[label="",style="dashed", color="magenta", weight=3]; 5112 -> 5709[label="",style="dashed", color="red", weight=0]; 5112[label="primDivNatS0 (Succ vuz12200) (Succ vuz123000) (primGEqNatS vuz12200 vuz123000)",fontsize=16,color="magenta"];5112 -> 5710[label="",style="dashed", color="magenta", weight=3]; 5112 -> 5711[label="",style="dashed", color="magenta", weight=3]; 5112 -> 5712[label="",style="dashed", color="magenta", weight=3]; 5112 -> 5713[label="",style="dashed", color="magenta", weight=3]; 5113[label="primDivNatS0 (Succ vuz12200) Zero True",fontsize=16,color="black",shape="box"];5113 -> 5140[label="",style="solid", color="black", weight=3]; 5114[label="primDivNatS0 Zero (Succ vuz123000) False",fontsize=16,color="black",shape="box"];5114 -> 5141[label="",style="solid", color="black", weight=3]; 5115[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];5115 -> 5142[label="",style="solid", color="black", weight=3]; 6262[label="gcd2 (primEqInt (Pos (Succ vuz1670)) (fromInt (Pos Zero))) (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6262 -> 6278[label="",style="solid", color="black", weight=3]; 6263[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6263 -> 6279[label="",style="solid", color="black", weight=3]; 5077[label="gcd2 (primEqInt (Neg (Succ vuz1240)) (fromInt (Pos Zero))) (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5077 -> 5096[label="",style="solid", color="black", weight=3]; 5078[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5078 -> 5097[label="",style="solid", color="black", weight=3]; 6305[label="vuz400",fontsize=16,color="green",shape="box"];6306[label="vuz3000",fontsize=16,color="green",shape="box"];6307[label="vuz400",fontsize=16,color="green",shape="box"];6308[label="vuz3000",fontsize=16,color="green",shape="box"];6309[label="vuz400",fontsize=16,color="green",shape="box"];6310[label="vuz3000",fontsize=16,color="green",shape="box"];6311[label="vuz400",fontsize=16,color="green",shape="box"];6312[label="vuz3000",fontsize=16,color="green",shape="box"];6264[label="vuz168",fontsize=16,color="green",shape="box"];6265[label="vuz168",fontsize=16,color="green",shape="box"];5079[label="gcd2 (primEqInt (Neg (Succ vuz1250)) (fromInt (Pos Zero))) (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5079 -> 5098[label="",style="solid", color="black", weight=3]; 5080[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5080 -> 5099[label="",style="solid", color="black", weight=3]; 5116[label="vuz400",fontsize=16,color="green",shape="box"];5117[label="vuz3000",fontsize=16,color="green",shape="box"];5118[label="vuz400",fontsize=16,color="green",shape="box"];5119[label="vuz3000",fontsize=16,color="green",shape="box"];5120[label="gcd2 (primEqInt (Pos (Succ vuz1270)) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5120 -> 5143[label="",style="solid", color="black", weight=3]; 5121[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5121 -> 5144[label="",style="solid", color="black", weight=3]; 5134[label="vuz400",fontsize=16,color="green",shape="box"];5135[label="vuz3000",fontsize=16,color="green",shape="box"];5136[label="vuz400",fontsize=16,color="green",shape="box"];5137[label="vuz3000",fontsize=16,color="green",shape="box"];5122[label="vuz400",fontsize=16,color="green",shape="box"];5123[label="vuz3000",fontsize=16,color="green",shape="box"];5124[label="vuz400",fontsize=16,color="green",shape="box"];5125[label="vuz3000",fontsize=16,color="green",shape="box"];5710[label="vuz12200",fontsize=16,color="green",shape="box"];5711[label="vuz12200",fontsize=16,color="green",shape="box"];5712[label="vuz123000",fontsize=16,color="green",shape="box"];5713[label="vuz123000",fontsize=16,color="green",shape="box"];5709[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS vuz164 vuz165)",fontsize=16,color="burlywood",shape="triangle"];6791[label="vuz164/Succ vuz1640",fontsize=10,color="white",style="solid",shape="box"];5709 -> 6791[label="",style="solid", color="burlywood", weight=9]; 6791 -> 5750[label="",style="solid", color="burlywood", weight=3]; 6792[label="vuz164/Zero",fontsize=10,color="white",style="solid",shape="box"];5709 -> 6792[label="",style="solid", color="burlywood", weight=9]; 6792 -> 5751[label="",style="solid", color="burlywood", weight=3]; 5140[label="Succ (primDivNatS (primMinusNatS (Succ vuz12200) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5140 -> 5157[label="",style="dashed", color="green", weight=3]; 5141[label="Zero",fontsize=16,color="green",shape="box"];5142[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5142 -> 5158[label="",style="dashed", color="green", weight=3]; 6278[label="gcd2 (primEqInt (Pos (Succ vuz1670)) (Pos Zero)) (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6278 -> 6293[label="",style="solid", color="black", weight=3]; 6279[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6279 -> 6294[label="",style="solid", color="black", weight=3]; 5096[label="gcd2 (primEqInt (Neg (Succ vuz1240)) (Pos Zero)) (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5096 -> 5126[label="",style="solid", color="black", weight=3]; 5097[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5097 -> 5127[label="",style="solid", color="black", weight=3]; 5098[label="gcd2 (primEqInt (Neg (Succ vuz1250)) (Pos Zero)) (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5098 -> 5128[label="",style="solid", color="black", weight=3]; 5099[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5099 -> 5129[label="",style="solid", color="black", weight=3]; 5143[label="gcd2 (primEqInt (Pos (Succ vuz1270)) (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5143 -> 5159[label="",style="solid", color="black", weight=3]; 5144[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5144 -> 5160[label="",style="solid", color="black", weight=3]; 5750[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) vuz165)",fontsize=16,color="burlywood",shape="box"];6793[label="vuz165/Succ vuz1650",fontsize=10,color="white",style="solid",shape="box"];5750 -> 6793[label="",style="solid", color="burlywood", weight=9]; 6793 -> 6205[label="",style="solid", color="burlywood", weight=3]; 6794[label="vuz165/Zero",fontsize=10,color="white",style="solid",shape="box"];5750 -> 6794[label="",style="solid", color="burlywood", weight=9]; 6794 -> 6206[label="",style="solid", color="burlywood", weight=3]; 5751[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero vuz165)",fontsize=16,color="burlywood",shape="box"];6795[label="vuz165/Succ vuz1650",fontsize=10,color="white",style="solid",shape="box"];5751 -> 6795[label="",style="solid", color="burlywood", weight=9]; 6795 -> 6207[label="",style="solid", color="burlywood", weight=3]; 6796[label="vuz165/Zero",fontsize=10,color="white",style="solid",shape="box"];5751 -> 6796[label="",style="solid", color="burlywood", weight=9]; 6796 -> 6208[label="",style="solid", color="burlywood", weight=3]; 5157 -> 5034[label="",style="dashed", color="red", weight=0]; 5157[label="primDivNatS (primMinusNatS (Succ vuz12200) Zero) (Succ Zero)",fontsize=16,color="magenta"];5157 -> 5173[label="",style="dashed", color="magenta", weight=3]; 5157 -> 5174[label="",style="dashed", color="magenta", weight=3]; 5158 -> 5034[label="",style="dashed", color="red", weight=0]; 5158[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];5158 -> 5175[label="",style="dashed", color="magenta", weight=3]; 5158 -> 5176[label="",style="dashed", color="magenta", weight=3]; 6293[label="gcd2 False (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6293 -> 6313[label="",style="solid", color="black", weight=3]; 6294[label="gcd2 True (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6294 -> 6314[label="",style="solid", color="black", weight=3]; 5126[label="gcd2 False (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5126 -> 5145[label="",style="solid", color="black", weight=3]; 5127[label="gcd2 True (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5127 -> 5146[label="",style="solid", color="black", weight=3]; 5128[label="gcd2 False (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5128 -> 5147[label="",style="solid", color="black", weight=3]; 5129[label="gcd2 True (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5129 -> 5148[label="",style="solid", color="black", weight=3]; 5159[label="gcd2 False (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5159 -> 5177[label="",style="solid", color="black", weight=3]; 5160[label="gcd2 True (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5160 -> 5178[label="",style="solid", color="black", weight=3]; 6205[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) (Succ vuz1650))",fontsize=16,color="black",shape="box"];6205 -> 6220[label="",style="solid", color="black", weight=3]; 6206[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) Zero)",fontsize=16,color="black",shape="box"];6206 -> 6221[label="",style="solid", color="black", weight=3]; 6207[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero (Succ vuz1650))",fontsize=16,color="black",shape="box"];6207 -> 6222[label="",style="solid", color="black", weight=3]; 6208[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6208 -> 6223[label="",style="solid", color="black", weight=3]; 5173[label="Zero",fontsize=16,color="green",shape="box"];5174[label="primMinusNatS (Succ vuz12200) Zero",fontsize=16,color="black",shape="triangle"];5174 -> 5194[label="",style="solid", color="black", weight=3]; 5175[label="Zero",fontsize=16,color="green",shape="box"];5176[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];5176 -> 5195[label="",style="solid", color="black", weight=3]; 6313[label="gcd0 (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6313 -> 6329[label="",style="solid", color="black", weight=3]; 6314[label="gcd1 (Pos vuz28 == fromInt (Pos Zero)) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6314 -> 6330[label="",style="solid", color="black", weight=3]; 5145[label="gcd0 (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5145 -> 5161[label="",style="solid", color="black", weight=3]; 5146[label="gcd1 (Pos vuz28 == fromInt (Pos Zero)) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5146 -> 5162[label="",style="solid", color="black", weight=3]; 5147[label="gcd0 (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5147 -> 5163[label="",style="solid", color="black", weight=3]; 5148[label="gcd1 (Neg vuz34 == fromInt (Pos Zero)) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5148 -> 5164[label="",style="solid", color="black", weight=3]; 5177[label="gcd0 (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];5177 -> 5196[label="",style="solid", color="black", weight=3]; 5178[label="gcd1 (Neg vuz34 == fromInt (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5178 -> 5197[label="",style="solid", color="black", weight=3]; 6220 -> 5709[label="",style="dashed", color="red", weight=0]; 6220[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS vuz1640 vuz1650)",fontsize=16,color="magenta"];6220 -> 6238[label="",style="dashed", color="magenta", weight=3]; 6220 -> 6239[label="",style="dashed", color="magenta", weight=3]; 6221[label="primDivNatS0 (Succ vuz162) (Succ vuz163) True",fontsize=16,color="black",shape="triangle"];6221 -> 6240[label="",style="solid", color="black", weight=3]; 6222[label="primDivNatS0 (Succ vuz162) (Succ vuz163) False",fontsize=16,color="black",shape="box"];6222 -> 6241[label="",style="solid", color="black", weight=3]; 6223 -> 6221[label="",style="dashed", color="red", weight=0]; 6223[label="primDivNatS0 (Succ vuz162) (Succ vuz163) True",fontsize=16,color="magenta"];5194[label="Succ vuz12200",fontsize=16,color="green",shape="box"];5195[label="Zero",fontsize=16,color="green",shape="box"];6329 -> 6348[label="",style="dashed", color="red", weight=0]; 6329[label="gcd0Gcd' (abs (Pos (Succ vuz1670))) (abs (Pos vuz28))",fontsize=16,color="magenta"];6329 -> 6349[label="",style="dashed", color="magenta", weight=3]; 6329 -> 6350[label="",style="dashed", color="magenta", weight=3]; 6330[label="gcd1 (primEqInt (Pos vuz28) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6797[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];6330 -> 6797[label="",style="solid", color="burlywood", weight=9]; 6797 -> 6363[label="",style="solid", color="burlywood", weight=3]; 6798[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];6330 -> 6798[label="",style="solid", color="burlywood", weight=9]; 6798 -> 6364[label="",style="solid", color="burlywood", weight=3]; 5161 -> 6348[label="",style="dashed", color="red", weight=0]; 5161[label="gcd0Gcd' (abs (Neg (Succ vuz1240))) (abs (Pos vuz28))",fontsize=16,color="magenta"];5161 -> 6351[label="",style="dashed", color="magenta", weight=3]; 5161 -> 6352[label="",style="dashed", color="magenta", weight=3]; 5162[label="gcd1 (primEqInt (Pos vuz28) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6799[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];5162 -> 6799[label="",style="solid", color="burlywood", weight=9]; 6799 -> 5180[label="",style="solid", color="burlywood", weight=3]; 6800[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];5162 -> 6800[label="",style="solid", color="burlywood", weight=9]; 6800 -> 5181[label="",style="solid", color="burlywood", weight=3]; 5163 -> 6348[label="",style="dashed", color="red", weight=0]; 5163[label="gcd0Gcd' (abs (Neg (Succ vuz1250))) (abs (Neg vuz34))",fontsize=16,color="magenta"];5163 -> 6353[label="",style="dashed", color="magenta", weight=3]; 5163 -> 6354[label="",style="dashed", color="magenta", weight=3]; 5164[label="gcd1 (primEqInt (Neg vuz34) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6801[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];5164 -> 6801[label="",style="solid", color="burlywood", weight=9]; 6801 -> 5183[label="",style="solid", color="burlywood", weight=3]; 6802[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];5164 -> 6802[label="",style="solid", color="burlywood", weight=9]; 6802 -> 5184[label="",style="solid", color="burlywood", weight=3]; 5196 -> 6348[label="",style="dashed", color="red", weight=0]; 5196[label="gcd0Gcd' (abs (Pos vuz126)) (abs (Neg vuz34))",fontsize=16,color="magenta"];5196 -> 6355[label="",style="dashed", color="magenta", weight=3]; 5196 -> 6356[label="",style="dashed", color="magenta", weight=3]; 5197[label="gcd1 (primEqInt (Neg vuz34) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6803[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];5197 -> 6803[label="",style="solid", color="burlywood", weight=9]; 6803 -> 5216[label="",style="solid", color="burlywood", weight=3]; 6804[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];5197 -> 6804[label="",style="solid", color="burlywood", weight=9]; 6804 -> 5217[label="",style="solid", color="burlywood", weight=3]; 6238[label="vuz1640",fontsize=16,color="green",shape="box"];6239[label="vuz1650",fontsize=16,color="green",shape="box"];6240[label="Succ (primDivNatS (primMinusNatS (Succ vuz162) (Succ vuz163)) (Succ (Succ vuz163)))",fontsize=16,color="green",shape="box"];6240 -> 6251[label="",style="dashed", color="green", weight=3]; 6241[label="Zero",fontsize=16,color="green",shape="box"];6349[label="abs (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6349 -> 6365[label="",style="solid", color="black", weight=3]; 6350[label="abs (Pos vuz28)",fontsize=16,color="black",shape="triangle"];6350 -> 6366[label="",style="solid", color="black", weight=3]; 6348[label="gcd0Gcd' vuz170 vuz169",fontsize=16,color="black",shape="triangle"];6348 -> 6367[label="",style="solid", color="black", weight=3]; 6363[label="gcd1 (primEqInt (Pos (Succ vuz280)) (fromInt (Pos Zero))) (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6363 -> 6378[label="",style="solid", color="black", weight=3]; 6364[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6364 -> 6379[label="",style="solid", color="black", weight=3]; 6351[label="abs (Neg (Succ vuz1240))",fontsize=16,color="black",shape="triangle"];6351 -> 6368[label="",style="solid", color="black", weight=3]; 6352 -> 6350[label="",style="dashed", color="red", weight=0]; 6352[label="abs (Pos vuz28)",fontsize=16,color="magenta"];5180[label="gcd1 (primEqInt (Pos (Succ vuz280)) (fromInt (Pos Zero))) (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5180 -> 5199[label="",style="solid", color="black", weight=3]; 5181[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5181 -> 5200[label="",style="solid", color="black", weight=3]; 6353 -> 6351[label="",style="dashed", color="red", weight=0]; 6353[label="abs (Neg (Succ vuz1250))",fontsize=16,color="magenta"];6353 -> 6369[label="",style="dashed", color="magenta", weight=3]; 6354[label="abs (Neg vuz34)",fontsize=16,color="black",shape="triangle"];6354 -> 6370[label="",style="solid", color="black", weight=3]; 5183[label="gcd1 (primEqInt (Neg (Succ vuz340)) (fromInt (Pos Zero))) (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5183 -> 5202[label="",style="solid", color="black", weight=3]; 5184[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5184 -> 5203[label="",style="solid", color="black", weight=3]; 6355 -> 6350[label="",style="dashed", color="red", weight=0]; 6355[label="abs (Pos vuz126)",fontsize=16,color="magenta"];6355 -> 6371[label="",style="dashed", color="magenta", weight=3]; 6356 -> 6354[label="",style="dashed", color="red", weight=0]; 6356[label="abs (Neg vuz34)",fontsize=16,color="magenta"];5216[label="gcd1 (primEqInt (Neg (Succ vuz340)) (fromInt (Pos Zero))) (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5216 -> 5240[label="",style="solid", color="black", weight=3]; 5217[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5217 -> 5241[label="",style="solid", color="black", weight=3]; 6251 -> 5034[label="",style="dashed", color="red", weight=0]; 6251[label="primDivNatS (primMinusNatS (Succ vuz162) (Succ vuz163)) (Succ (Succ vuz163))",fontsize=16,color="magenta"];6251 -> 6266[label="",style="dashed", color="magenta", weight=3]; 6251 -> 6267[label="",style="dashed", color="magenta", weight=3]; 6365[label="absReal (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6365 -> 6380[label="",style="solid", color="black", weight=3]; 6366[label="absReal (Pos vuz28)",fontsize=16,color="black",shape="box"];6366 -> 6381[label="",style="solid", color="black", weight=3]; 6367[label="gcd0Gcd'2 vuz170 vuz169",fontsize=16,color="black",shape="box"];6367 -> 6382[label="",style="solid", color="black", weight=3]; 6378[label="gcd1 (primEqInt (Pos (Succ vuz280)) (Pos Zero)) (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6378 -> 6385[label="",style="solid", color="black", weight=3]; 6379[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6379 -> 6386[label="",style="solid", color="black", weight=3]; 6368[label="absReal (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6368 -> 6383[label="",style="solid", color="black", weight=3]; 5199[label="gcd1 (primEqInt (Pos (Succ vuz280)) (Pos Zero)) (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5199 -> 5219[label="",style="solid", color="black", weight=3]; 5200[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5200 -> 5220[label="",style="solid", color="black", weight=3]; 6369[label="vuz1250",fontsize=16,color="green",shape="box"];6370[label="absReal (Neg vuz34)",fontsize=16,color="black",shape="box"];6370 -> 6384[label="",style="solid", color="black", weight=3]; 5202[label="gcd1 (primEqInt (Neg (Succ vuz340)) (Pos Zero)) (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5202 -> 5222[label="",style="solid", color="black", weight=3]; 5203[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5203 -> 5223[label="",style="solid", color="black", weight=3]; 6371[label="vuz126",fontsize=16,color="green",shape="box"];5240[label="gcd1 (primEqInt (Neg (Succ vuz340)) (Pos Zero)) (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5240 -> 5262[label="",style="solid", color="black", weight=3]; 5241[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5241 -> 5263[label="",style="solid", color="black", weight=3]; 6266[label="Succ vuz163",fontsize=16,color="green",shape="box"];6267[label="primMinusNatS (Succ vuz162) (Succ vuz163)",fontsize=16,color="black",shape="box"];6267 -> 6280[label="",style="solid", color="black", weight=3]; 6380[label="absReal2 (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6380 -> 6387[label="",style="solid", color="black", weight=3]; 6381[label="absReal2 (Pos vuz28)",fontsize=16,color="black",shape="box"];6381 -> 6388[label="",style="solid", color="black", weight=3]; 6382[label="gcd0Gcd'1 (vuz169 == fromInt (Pos Zero)) vuz170 vuz169",fontsize=16,color="black",shape="box"];6382 -> 6389[label="",style="solid", color="black", weight=3]; 6385[label="gcd1 False (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6385 -> 6392[label="",style="solid", color="black", weight=3]; 6386[label="gcd1 True (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6386 -> 6393[label="",style="solid", color="black", weight=3]; 6383[label="absReal2 (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6383 -> 6390[label="",style="solid", color="black", weight=3]; 5219[label="gcd1 False (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5219 -> 5243[label="",style="solid", color="black", weight=3]; 5220[label="gcd1 True (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5220 -> 5244[label="",style="solid", color="black", weight=3]; 6384[label="absReal2 (Neg vuz34)",fontsize=16,color="black",shape="box"];6384 -> 6391[label="",style="solid", color="black", weight=3]; 5222[label="gcd1 False (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5222 -> 5246[label="",style="solid", color="black", weight=3]; 5223[label="gcd1 True (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5223 -> 5247[label="",style="solid", color="black", weight=3]; 5262[label="gcd1 False (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5262 -> 5281[label="",style="solid", color="black", weight=3]; 5263[label="gcd1 True (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5263 -> 5282[label="",style="solid", color="black", weight=3]; 6280[label="primMinusNatS vuz162 vuz163",fontsize=16,color="burlywood",shape="triangle"];6805[label="vuz162/Succ vuz1620",fontsize=10,color="white",style="solid",shape="box"];6280 -> 6805[label="",style="solid", color="burlywood", weight=9]; 6805 -> 6295[label="",style="solid", color="burlywood", weight=3]; 6806[label="vuz162/Zero",fontsize=10,color="white",style="solid",shape="box"];6280 -> 6806[label="",style="solid", color="burlywood", weight=9]; 6806 -> 6296[label="",style="solid", color="burlywood", weight=3]; 6387[label="absReal1 (Pos (Succ vuz1670)) (Pos (Succ vuz1670) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6387 -> 6394[label="",style="solid", color="black", weight=3]; 6388[label="absReal1 (Pos vuz28) (Pos vuz28 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6388 -> 6395[label="",style="solid", color="black", weight=3]; 6389[label="gcd0Gcd'1 (primEqInt vuz169 (fromInt (Pos Zero))) vuz170 vuz169",fontsize=16,color="burlywood",shape="box"];6807[label="vuz169/Pos vuz1690",fontsize=10,color="white",style="solid",shape="box"];6389 -> 6807[label="",style="solid", color="burlywood", weight=9]; 6807 -> 6396[label="",style="solid", color="burlywood", weight=3]; 6808[label="vuz169/Neg vuz1690",fontsize=10,color="white",style="solid",shape="box"];6389 -> 6808[label="",style="solid", color="burlywood", weight=9]; 6808 -> 6397[label="",style="solid", color="burlywood", weight=3]; 6392[label="gcd0 (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6392 -> 6400[label="",style="solid", color="black", weight=3]; 6393 -> 5010[label="",style="dashed", color="red", weight=0]; 6393[label="error []",fontsize=16,color="magenta"];6390[label="absReal1 (Neg (Succ vuz1240)) (Neg (Succ vuz1240) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6390 -> 6398[label="",style="solid", color="black", weight=3]; 5243[label="gcd0 (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5243 -> 5265[label="",style="solid", color="black", weight=3]; 5244 -> 5010[label="",style="dashed", color="red", weight=0]; 5244[label="error []",fontsize=16,color="magenta"];6391[label="absReal1 (Neg vuz34) (Neg vuz34 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6391 -> 6399[label="",style="solid", color="black", weight=3]; 5246[label="gcd0 (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5246 -> 5267[label="",style="solid", color="black", weight=3]; 5247 -> 5010[label="",style="dashed", color="red", weight=0]; 5247[label="error []",fontsize=16,color="magenta"];5281 -> 5177[label="",style="dashed", color="red", weight=0]; 5281[label="gcd0 (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="magenta"];5281 -> 5305[label="",style="dashed", color="magenta", weight=3]; 5282 -> 5010[label="",style="dashed", color="red", weight=0]; 5282[label="error []",fontsize=16,color="magenta"];6295[label="primMinusNatS (Succ vuz1620) vuz163",fontsize=16,color="burlywood",shape="box"];6809[label="vuz163/Succ vuz1630",fontsize=10,color="white",style="solid",shape="box"];6295 -> 6809[label="",style="solid", color="burlywood", weight=9]; 6809 -> 6315[label="",style="solid", color="burlywood", weight=3]; 6810[label="vuz163/Zero",fontsize=10,color="white",style="solid",shape="box"];6295 -> 6810[label="",style="solid", color="burlywood", weight=9]; 6810 -> 6316[label="",style="solid", color="burlywood", weight=3]; 6296[label="primMinusNatS Zero vuz163",fontsize=16,color="burlywood",shape="box"];6811[label="vuz163/Succ vuz1630",fontsize=10,color="white",style="solid",shape="box"];6296 -> 6811[label="",style="solid", color="burlywood", weight=9]; 6811 -> 6317[label="",style="solid", color="burlywood", weight=3]; 6812[label="vuz163/Zero",fontsize=10,color="white",style="solid",shape="box"];6296 -> 6812[label="",style="solid", color="burlywood", weight=9]; 6812 -> 6318[label="",style="solid", color="burlywood", weight=3]; 6394[label="absReal1 (Pos (Succ vuz1670)) (compare (Pos (Succ vuz1670)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6394 -> 6401[label="",style="solid", color="black", weight=3]; 6395[label="absReal1 (Pos vuz28) (compare (Pos vuz28) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6395 -> 6402[label="",style="solid", color="black", weight=3]; 6396[label="gcd0Gcd'1 (primEqInt (Pos vuz1690) (fromInt (Pos Zero))) vuz170 (Pos vuz1690)",fontsize=16,color="burlywood",shape="box"];6813[label="vuz1690/Succ vuz16900",fontsize=10,color="white",style="solid",shape="box"];6396 -> 6813[label="",style="solid", color="burlywood", weight=9]; 6813 -> 6403[label="",style="solid", color="burlywood", weight=3]; 6814[label="vuz1690/Zero",fontsize=10,color="white",style="solid",shape="box"];6396 -> 6814[label="",style="solid", color="burlywood", weight=9]; 6814 -> 6404[label="",style="solid", color="burlywood", weight=3]; 6397[label="gcd0Gcd'1 (primEqInt (Neg vuz1690) (fromInt (Pos Zero))) vuz170 (Neg vuz1690)",fontsize=16,color="burlywood",shape="box"];6815[label="vuz1690/Succ vuz16900",fontsize=10,color="white",style="solid",shape="box"];6397 -> 6815[label="",style="solid", color="burlywood", weight=9]; 6815 -> 6405[label="",style="solid", color="burlywood", weight=3]; 6816[label="vuz1690/Zero",fontsize=10,color="white",style="solid",shape="box"];6397 -> 6816[label="",style="solid", color="burlywood", weight=9]; 6816 -> 6406[label="",style="solid", color="burlywood", weight=3]; 6400 -> 6348[label="",style="dashed", color="red", weight=0]; 6400[label="gcd0Gcd' (abs (Pos Zero)) (abs (Pos (Succ vuz280)))",fontsize=16,color="magenta"];6400 -> 6409[label="",style="dashed", color="magenta", weight=3]; 6400 -> 6410[label="",style="dashed", color="magenta", weight=3]; 6398[label="absReal1 (Neg (Succ vuz1240)) (compare (Neg (Succ vuz1240)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6398 -> 6407[label="",style="solid", color="black", weight=3]; 5265 -> 6348[label="",style="dashed", color="red", weight=0]; 5265[label="gcd0Gcd' (abs (Neg Zero)) (abs (Pos (Succ vuz280)))",fontsize=16,color="magenta"];5265 -> 6357[label="",style="dashed", color="magenta", weight=3]; 5265 -> 6358[label="",style="dashed", color="magenta", weight=3]; 6399[label="absReal1 (Neg vuz34) (compare (Neg vuz34) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6399 -> 6408[label="",style="solid", color="black", weight=3]; 5267 -> 6348[label="",style="dashed", color="red", weight=0]; 5267[label="gcd0Gcd' (abs (Neg Zero)) (abs (Neg (Succ vuz340)))",fontsize=16,color="magenta"];5267 -> 6359[label="",style="dashed", color="magenta", weight=3]; 5267 -> 6360[label="",style="dashed", color="magenta", weight=3]; 5305[label="Succ vuz340",fontsize=16,color="green",shape="box"];6315[label="primMinusNatS (Succ vuz1620) (Succ vuz1630)",fontsize=16,color="black",shape="box"];6315 -> 6331[label="",style="solid", color="black", weight=3]; 6316[label="primMinusNatS (Succ vuz1620) Zero",fontsize=16,color="black",shape="box"];6316 -> 6332[label="",style="solid", color="black", weight=3]; 6317[label="primMinusNatS Zero (Succ vuz1630)",fontsize=16,color="black",shape="box"];6317 -> 6333[label="",style="solid", color="black", weight=3]; 6318[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];6318 -> 6334[label="",style="solid", color="black", weight=3]; 6401[label="absReal1 (Pos (Succ vuz1670)) (not (compare (Pos (Succ vuz1670)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6401 -> 6411[label="",style="solid", color="black", weight=3]; 6402[label="absReal1 (Pos vuz28) (not (compare (Pos vuz28) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6402 -> 6412[label="",style="solid", color="black", weight=3]; 6403[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz16900)) (fromInt (Pos Zero))) vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6403 -> 6413[label="",style="solid", color="black", weight=3]; 6404[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6404 -> 6414[label="",style="solid", color="black", weight=3]; 6405[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz16900)) (fromInt (Pos Zero))) vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6405 -> 6415[label="",style="solid", color="black", weight=3]; 6406[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6406 -> 6416[label="",style="solid", color="black", weight=3]; 6409 -> 6350[label="",style="dashed", color="red", weight=0]; 6409[label="abs (Pos Zero)",fontsize=16,color="magenta"];6409 -> 6419[label="",style="dashed", color="magenta", weight=3]; 6410 -> 6350[label="",style="dashed", color="red", weight=0]; 6410[label="abs (Pos (Succ vuz280))",fontsize=16,color="magenta"];6410 -> 6420[label="",style="dashed", color="magenta", weight=3]; 6407[label="absReal1 (Neg (Succ vuz1240)) (not (compare (Neg (Succ vuz1240)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6407 -> 6417[label="",style="solid", color="black", weight=3]; 6357 -> 6354[label="",style="dashed", color="red", weight=0]; 6357[label="abs (Neg Zero)",fontsize=16,color="magenta"];6357 -> 6372[label="",style="dashed", color="magenta", weight=3]; 6358 -> 6350[label="",style="dashed", color="red", weight=0]; 6358[label="abs (Pos (Succ vuz280))",fontsize=16,color="magenta"];6358 -> 6373[label="",style="dashed", color="magenta", weight=3]; 6408[label="absReal1 (Neg vuz34) (not (compare (Neg vuz34) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6408 -> 6418[label="",style="solid", color="black", weight=3]; 6359 -> 6354[label="",style="dashed", color="red", weight=0]; 6359[label="abs (Neg Zero)",fontsize=16,color="magenta"];6359 -> 6374[label="",style="dashed", color="magenta", weight=3]; 6360 -> 6354[label="",style="dashed", color="red", weight=0]; 6360[label="abs (Neg (Succ vuz340))",fontsize=16,color="magenta"];6360 -> 6375[label="",style="dashed", color="magenta", weight=3]; 6331 -> 6280[label="",style="dashed", color="red", weight=0]; 6331[label="primMinusNatS vuz1620 vuz1630",fontsize=16,color="magenta"];6331 -> 6376[label="",style="dashed", color="magenta", weight=3]; 6331 -> 6377[label="",style="dashed", color="magenta", weight=3]; 6332[label="Succ vuz1620",fontsize=16,color="green",shape="box"];6333[label="Zero",fontsize=16,color="green",shape="box"];6334[label="Zero",fontsize=16,color="green",shape="box"];6411[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpInt (Pos (Succ vuz1670)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6411 -> 6421[label="",style="solid", color="black", weight=3]; 6412[label="absReal1 (Pos vuz28) (not (primCmpInt (Pos vuz28) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];6817[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];6412 -> 6817[label="",style="solid", color="burlywood", weight=9]; 6817 -> 6422[label="",style="solid", color="burlywood", weight=3]; 6818[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];6412 -> 6818[label="",style="solid", color="burlywood", weight=9]; 6818 -> 6423[label="",style="solid", color="burlywood", weight=3]; 6413[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz16900)) (Pos Zero)) vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6413 -> 6424[label="",style="solid", color="black", weight=3]; 6414[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6414 -> 6425[label="",style="solid", color="black", weight=3]; 6415[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz16900)) (Pos Zero)) vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6415 -> 6426[label="",style="solid", color="black", weight=3]; 6416[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6416 -> 6427[label="",style="solid", color="black", weight=3]; 6419[label="Zero",fontsize=16,color="green",shape="box"];6420[label="Succ vuz280",fontsize=16,color="green",shape="box"];6417[label="absReal1 (Neg (Succ vuz1240)) (not (primCmpInt (Neg (Succ vuz1240)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6417 -> 6428[label="",style="solid", color="black", weight=3]; 6372[label="Zero",fontsize=16,color="green",shape="box"];6373[label="Succ vuz280",fontsize=16,color="green",shape="box"];6418[label="absReal1 (Neg vuz34) (not (primCmpInt (Neg vuz34) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];6819[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];6418 -> 6819[label="",style="solid", color="burlywood", weight=9]; 6819 -> 6429[label="",style="solid", color="burlywood", weight=3]; 6820[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];6418 -> 6820[label="",style="solid", color="burlywood", weight=9]; 6820 -> 6430[label="",style="solid", color="burlywood", weight=3]; 6374[label="Zero",fontsize=16,color="green",shape="box"];6375[label="Succ vuz340",fontsize=16,color="green",shape="box"];6376[label="vuz1620",fontsize=16,color="green",shape="box"];6377[label="vuz1630",fontsize=16,color="green",shape="box"];6421[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpInt (Pos (Succ vuz1670)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];6421 -> 6431[label="",style="solid", color="black", weight=3]; 6422[label="absReal1 (Pos (Succ vuz280)) (not (primCmpInt (Pos (Succ vuz280)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6422 -> 6432[label="",style="solid", color="black", weight=3]; 6423[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6423 -> 6433[label="",style="solid", color="black", weight=3]; 6424[label="gcd0Gcd'1 False vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6424 -> 6434[label="",style="solid", color="black", weight=3]; 6425[label="gcd0Gcd'1 True vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6425 -> 6435[label="",style="solid", color="black", weight=3]; 6426[label="gcd0Gcd'1 False vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6426 -> 6436[label="",style="solid", color="black", weight=3]; 6427[label="gcd0Gcd'1 True vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6427 -> 6437[label="",style="solid", color="black", weight=3]; 6428[label="absReal1 (Neg (Succ vuz1240)) (not (primCmpInt (Neg (Succ vuz1240)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];6428 -> 6438[label="",style="solid", color="black", weight=3]; 6429[label="absReal1 (Neg (Succ vuz340)) (not (primCmpInt (Neg (Succ vuz340)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6429 -> 6439[label="",style="solid", color="black", weight=3]; 6430[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6430 -> 6440[label="",style="solid", color="black", weight=3]; 6431[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpNat (Succ vuz1670) Zero == LT))",fontsize=16,color="black",shape="box"];6431 -> 6441[label="",style="solid", color="black", weight=3]; 6432 -> 6421[label="",style="dashed", color="red", weight=0]; 6432[label="absReal1 (Pos (Succ vuz280)) (not (primCmpInt (Pos (Succ vuz280)) (Pos Zero) == LT))",fontsize=16,color="magenta"];6432 -> 6442[label="",style="dashed", color="magenta", weight=3]; 6433[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];6433 -> 6443[label="",style="solid", color="black", weight=3]; 6434[label="gcd0Gcd'0 vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6434 -> 6444[label="",style="solid", color="black", weight=3]; 6435[label="vuz170",fontsize=16,color="green",shape="box"];6436[label="gcd0Gcd'0 vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6436 -> 6445[label="",style="solid", color="black", weight=3]; 6437[label="vuz170",fontsize=16,color="green",shape="box"];6438[label="absReal1 (Neg (Succ vuz1240)) (not (LT == LT))",fontsize=16,color="black",shape="box"];6438 -> 6446[label="",style="solid", color="black", weight=3]; 6439 -> 6428[label="",style="dashed", color="red", weight=0]; 6439[label="absReal1 (Neg (Succ vuz340)) (not (primCmpInt (Neg (Succ vuz340)) (Pos Zero) == LT))",fontsize=16,color="magenta"];6439 -> 6447[label="",style="dashed", color="magenta", weight=3]; 6440[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];6440 -> 6448[label="",style="solid", color="black", weight=3]; 6441[label="absReal1 (Pos (Succ vuz1670)) (not (GT == LT))",fontsize=16,color="black",shape="box"];6441 -> 6449[label="",style="solid", color="black", weight=3]; 6442[label="vuz280",fontsize=16,color="green",shape="box"];6443[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];6443 -> 6450[label="",style="solid", color="black", weight=3]; 6444 -> 6348[label="",style="dashed", color="red", weight=0]; 6444[label="gcd0Gcd' (Pos (Succ vuz16900)) (vuz170 `rem` Pos (Succ vuz16900))",fontsize=16,color="magenta"];6444 -> 6451[label="",style="dashed", color="magenta", weight=3]; 6444 -> 6452[label="",style="dashed", color="magenta", weight=3]; 6445 -> 6348[label="",style="dashed", color="red", weight=0]; 6445[label="gcd0Gcd' (Neg (Succ vuz16900)) (vuz170 `rem` Neg (Succ vuz16900))",fontsize=16,color="magenta"];6445 -> 6453[label="",style="dashed", color="magenta", weight=3]; 6445 -> 6454[label="",style="dashed", color="magenta", weight=3]; 6446[label="absReal1 (Neg (Succ vuz1240)) (not True)",fontsize=16,color="black",shape="box"];6446 -> 6455[label="",style="solid", color="black", weight=3]; 6447[label="vuz340",fontsize=16,color="green",shape="box"];6448[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];6448 -> 6456[label="",style="solid", color="black", weight=3]; 6449[label="absReal1 (Pos (Succ vuz1670)) (not False)",fontsize=16,color="black",shape="box"];6449 -> 6457[label="",style="solid", color="black", weight=3]; 6450[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];6450 -> 6458[label="",style="solid", color="black", weight=3]; 6451[label="Pos (Succ vuz16900)",fontsize=16,color="green",shape="box"];6452[label="vuz170 `rem` Pos (Succ vuz16900)",fontsize=16,color="black",shape="box"];6452 -> 6459[label="",style="solid", color="black", weight=3]; 6453[label="Neg (Succ vuz16900)",fontsize=16,color="green",shape="box"];6454[label="vuz170 `rem` Neg (Succ vuz16900)",fontsize=16,color="black",shape="box"];6454 -> 6460[label="",style="solid", color="black", weight=3]; 6455[label="absReal1 (Neg (Succ vuz1240)) False",fontsize=16,color="black",shape="box"];6455 -> 6461[label="",style="solid", color="black", weight=3]; 6456[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];6456 -> 6462[label="",style="solid", color="black", weight=3]; 6457[label="absReal1 (Pos (Succ vuz1670)) True",fontsize=16,color="black",shape="box"];6457 -> 6463[label="",style="solid", color="black", weight=3]; 6458[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];6458 -> 6464[label="",style="solid", color="black", weight=3]; 6459[label="primRemInt vuz170 (Pos (Succ vuz16900))",fontsize=16,color="burlywood",shape="box"];6821[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];6459 -> 6821[label="",style="solid", color="burlywood", weight=9]; 6821 -> 6465[label="",style="solid", color="burlywood", weight=3]; 6822[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];6459 -> 6822[label="",style="solid", color="burlywood", weight=9]; 6822 -> 6466[label="",style="solid", color="burlywood", weight=3]; 6460[label="primRemInt vuz170 (Neg (Succ vuz16900))",fontsize=16,color="burlywood",shape="box"];6823[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];6460 -> 6823[label="",style="solid", color="burlywood", weight=9]; 6823 -> 6467[label="",style="solid", color="burlywood", weight=3]; 6824[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];6460 -> 6824[label="",style="solid", color="burlywood", weight=9]; 6824 -> 6468[label="",style="solid", color="burlywood", weight=3]; 6461[label="absReal0 (Neg (Succ vuz1240)) otherwise",fontsize=16,color="black",shape="box"];6461 -> 6469[label="",style="solid", color="black", weight=3]; 6462[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];6462 -> 6470[label="",style="solid", color="black", weight=3]; 6463[label="Pos (Succ vuz1670)",fontsize=16,color="green",shape="box"];6464[label="Pos Zero",fontsize=16,color="green",shape="box"];6465[label="primRemInt (Pos vuz1700) (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6465 -> 6471[label="",style="solid", color="black", weight=3]; 6466[label="primRemInt (Neg vuz1700) (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6466 -> 6472[label="",style="solid", color="black", weight=3]; 6467[label="primRemInt (Pos vuz1700) (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6467 -> 6473[label="",style="solid", color="black", weight=3]; 6468[label="primRemInt (Neg vuz1700) (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6468 -> 6474[label="",style="solid", color="black", weight=3]; 6469[label="absReal0 (Neg (Succ vuz1240)) True",fontsize=16,color="black",shape="box"];6469 -> 6475[label="",style="solid", color="black", weight=3]; 6470[label="Neg Zero",fontsize=16,color="green",shape="box"];6471[label="Pos (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6471 -> 6476[label="",style="dashed", color="green", weight=3]; 6472[label="Neg (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6472 -> 6477[label="",style="dashed", color="green", weight=3]; 6473[label="Pos (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6473 -> 6478[label="",style="dashed", color="green", weight=3]; 6474[label="Neg (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6474 -> 6479[label="",style="dashed", color="green", weight=3]; 6475[label="`negate` Neg (Succ vuz1240)",fontsize=16,color="black",shape="box"];6475 -> 6480[label="",style="solid", color="black", weight=3]; 6476[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="burlywood",shape="triangle"];6825[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];6476 -> 6825[label="",style="solid", color="burlywood", weight=9]; 6825 -> 6481[label="",style="solid", color="burlywood", weight=3]; 6826[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];6476 -> 6826[label="",style="solid", color="burlywood", weight=9]; 6826 -> 6482[label="",style="solid", color="burlywood", weight=3]; 6477 -> 6476[label="",style="dashed", color="red", weight=0]; 6477[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6477 -> 6483[label="",style="dashed", color="magenta", weight=3]; 6478 -> 6476[label="",style="dashed", color="red", weight=0]; 6478[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6478 -> 6484[label="",style="dashed", color="magenta", weight=3]; 6479 -> 6476[label="",style="dashed", color="red", weight=0]; 6479[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6479 -> 6485[label="",style="dashed", color="magenta", weight=3]; 6479 -> 6486[label="",style="dashed", color="magenta", weight=3]; 6480[label="primNegInt (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6480 -> 6487[label="",style="solid", color="black", weight=3]; 6481[label="primModNatS (Succ vuz17000) (Succ vuz16900)",fontsize=16,color="black",shape="box"];6481 -> 6488[label="",style="solid", color="black", weight=3]; 6482[label="primModNatS Zero (Succ vuz16900)",fontsize=16,color="black",shape="box"];6482 -> 6489[label="",style="solid", color="black", weight=3]; 6483[label="vuz1700",fontsize=16,color="green",shape="box"];6484[label="vuz16900",fontsize=16,color="green",shape="box"];6485[label="vuz16900",fontsize=16,color="green",shape="box"];6486[label="vuz1700",fontsize=16,color="green",shape="box"];6487[label="Pos (Succ vuz1240)",fontsize=16,color="green",shape="box"];6488[label="primModNatS0 vuz17000 vuz16900 (primGEqNatS vuz17000 vuz16900)",fontsize=16,color="burlywood",shape="box"];6827[label="vuz17000/Succ vuz170000",fontsize=10,color="white",style="solid",shape="box"];6488 -> 6827[label="",style="solid", color="burlywood", weight=9]; 6827 -> 6490[label="",style="solid", color="burlywood", weight=3]; 6828[label="vuz17000/Zero",fontsize=10,color="white",style="solid",shape="box"];6488 -> 6828[label="",style="solid", color="burlywood", weight=9]; 6828 -> 6491[label="",style="solid", color="burlywood", weight=3]; 6489[label="Zero",fontsize=16,color="green",shape="box"];6490[label="primModNatS0 (Succ vuz170000) vuz16900 (primGEqNatS (Succ vuz170000) vuz16900)",fontsize=16,color="burlywood",shape="box"];6829[label="vuz16900/Succ vuz169000",fontsize=10,color="white",style="solid",shape="box"];6490 -> 6829[label="",style="solid", color="burlywood", weight=9]; 6829 -> 6492[label="",style="solid", color="burlywood", weight=3]; 6830[label="vuz16900/Zero",fontsize=10,color="white",style="solid",shape="box"];6490 -> 6830[label="",style="solid", color="burlywood", weight=9]; 6830 -> 6493[label="",style="solid", color="burlywood", weight=3]; 6491[label="primModNatS0 Zero vuz16900 (primGEqNatS Zero vuz16900)",fontsize=16,color="burlywood",shape="box"];6831[label="vuz16900/Succ vuz169000",fontsize=10,color="white",style="solid",shape="box"];6491 -> 6831[label="",style="solid", color="burlywood", weight=9]; 6831 -> 6494[label="",style="solid", color="burlywood", weight=3]; 6832[label="vuz16900/Zero",fontsize=10,color="white",style="solid",shape="box"];6491 -> 6832[label="",style="solid", color="burlywood", weight=9]; 6832 -> 6495[label="",style="solid", color="burlywood", weight=3]; 6492[label="primModNatS0 (Succ vuz170000) (Succ vuz169000) (primGEqNatS (Succ vuz170000) (Succ vuz169000))",fontsize=16,color="black",shape="box"];6492 -> 6496[label="",style="solid", color="black", weight=3]; 6493[label="primModNatS0 (Succ vuz170000) Zero (primGEqNatS (Succ vuz170000) Zero)",fontsize=16,color="black",shape="box"];6493 -> 6497[label="",style="solid", color="black", weight=3]; 6494[label="primModNatS0 Zero (Succ vuz169000) (primGEqNatS Zero (Succ vuz169000))",fontsize=16,color="black",shape="box"];6494 -> 6498[label="",style="solid", color="black", weight=3]; 6495[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6495 -> 6499[label="",style="solid", color="black", weight=3]; 6496 -> 6658[label="",style="dashed", color="red", weight=0]; 6496[label="primModNatS0 (Succ vuz170000) (Succ vuz169000) (primGEqNatS vuz170000 vuz169000)",fontsize=16,color="magenta"];6496 -> 6659[label="",style="dashed", color="magenta", weight=3]; 6496 -> 6660[label="",style="dashed", color="magenta", weight=3]; 6496 -> 6661[label="",style="dashed", color="magenta", weight=3]; 6496 -> 6662[label="",style="dashed", color="magenta", weight=3]; 6497[label="primModNatS0 (Succ vuz170000) Zero True",fontsize=16,color="black",shape="box"];6497 -> 6502[label="",style="solid", color="black", weight=3]; 6498[label="primModNatS0 Zero (Succ vuz169000) False",fontsize=16,color="black",shape="box"];6498 -> 6503[label="",style="solid", color="black", weight=3]; 6499[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];6499 -> 6504[label="",style="solid", color="black", weight=3]; 6659[label="vuz169000",fontsize=16,color="green",shape="box"];6660[label="vuz170000",fontsize=16,color="green",shape="box"];6661[label="vuz170000",fontsize=16,color="green",shape="box"];6662[label="vuz169000",fontsize=16,color="green",shape="box"];6658[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS vuz189 vuz190)",fontsize=16,color="burlywood",shape="triangle"];6833[label="vuz189/Succ vuz1890",fontsize=10,color="white",style="solid",shape="box"];6658 -> 6833[label="",style="solid", color="burlywood", weight=9]; 6833 -> 6691[label="",style="solid", color="burlywood", weight=3]; 6834[label="vuz189/Zero",fontsize=10,color="white",style="solid",shape="box"];6658 -> 6834[label="",style="solid", color="burlywood", weight=9]; 6834 -> 6692[label="",style="solid", color="burlywood", weight=3]; 6502 -> 6476[label="",style="dashed", color="red", weight=0]; 6502[label="primModNatS (primMinusNatS (Succ vuz170000) Zero) (Succ Zero)",fontsize=16,color="magenta"];6502 -> 6509[label="",style="dashed", color="magenta", weight=3]; 6502 -> 6510[label="",style="dashed", color="magenta", weight=3]; 6503[label="Succ Zero",fontsize=16,color="green",shape="box"];6504 -> 6476[label="",style="dashed", color="red", weight=0]; 6504[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];6504 -> 6511[label="",style="dashed", color="magenta", weight=3]; 6504 -> 6512[label="",style="dashed", color="magenta", weight=3]; 6691[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) vuz190)",fontsize=16,color="burlywood",shape="box"];6835[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];6691 -> 6835[label="",style="solid", color="burlywood", weight=9]; 6835 -> 6693[label="",style="solid", color="burlywood", weight=3]; 6836[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];6691 -> 6836[label="",style="solid", color="burlywood", weight=9]; 6836 -> 6694[label="",style="solid", color="burlywood", weight=3]; 6692[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero vuz190)",fontsize=16,color="burlywood",shape="box"];6837[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];6692 -> 6837[label="",style="solid", color="burlywood", weight=9]; 6837 -> 6695[label="",style="solid", color="burlywood", weight=3]; 6838[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];6692 -> 6838[label="",style="solid", color="burlywood", weight=9]; 6838 -> 6696[label="",style="solid", color="burlywood", weight=3]; 6509[label="Zero",fontsize=16,color="green",shape="box"];6510 -> 6280[label="",style="dashed", color="red", weight=0]; 6510[label="primMinusNatS (Succ vuz170000) Zero",fontsize=16,color="magenta"];6510 -> 6517[label="",style="dashed", color="magenta", weight=3]; 6510 -> 6518[label="",style="dashed", color="magenta", weight=3]; 6511[label="Zero",fontsize=16,color="green",shape="box"];6512 -> 6280[label="",style="dashed", color="red", weight=0]; 6512[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];6512 -> 6519[label="",style="dashed", color="magenta", weight=3]; 6512 -> 6520[label="",style="dashed", color="magenta", weight=3]; 6693[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) (Succ vuz1900))",fontsize=16,color="black",shape="box"];6693 -> 6697[label="",style="solid", color="black", weight=3]; 6694[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) Zero)",fontsize=16,color="black",shape="box"];6694 -> 6698[label="",style="solid", color="black", weight=3]; 6695[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero (Succ vuz1900))",fontsize=16,color="black",shape="box"];6695 -> 6699[label="",style="solid", color="black", weight=3]; 6696[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6696 -> 6700[label="",style="solid", color="black", weight=3]; 6517[label="Succ vuz170000",fontsize=16,color="green",shape="box"];6518[label="Zero",fontsize=16,color="green",shape="box"];6519[label="Zero",fontsize=16,color="green",shape="box"];6520[label="Zero",fontsize=16,color="green",shape="box"];6697 -> 6658[label="",style="dashed", color="red", weight=0]; 6697[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS vuz1890 vuz1900)",fontsize=16,color="magenta"];6697 -> 6701[label="",style="dashed", color="magenta", weight=3]; 6697 -> 6702[label="",style="dashed", color="magenta", weight=3]; 6698[label="primModNatS0 (Succ vuz187) (Succ vuz188) True",fontsize=16,color="black",shape="triangle"];6698 -> 6703[label="",style="solid", color="black", weight=3]; 6699[label="primModNatS0 (Succ vuz187) (Succ vuz188) False",fontsize=16,color="black",shape="box"];6699 -> 6704[label="",style="solid", color="black", weight=3]; 6700 -> 6698[label="",style="dashed", color="red", weight=0]; 6700[label="primModNatS0 (Succ vuz187) (Succ vuz188) True",fontsize=16,color="magenta"];6701[label="vuz1890",fontsize=16,color="green",shape="box"];6702[label="vuz1900",fontsize=16,color="green",shape="box"];6703 -> 6476[label="",style="dashed", color="red", weight=0]; 6703[label="primModNatS (primMinusNatS (Succ vuz187) (Succ vuz188)) (Succ (Succ vuz188))",fontsize=16,color="magenta"];6703 -> 6705[label="",style="dashed", color="magenta", weight=3]; 6703 -> 6706[label="",style="dashed", color="magenta", weight=3]; 6704[label="Succ (Succ vuz187)",fontsize=16,color="green",shape="box"];6705[label="Succ vuz188",fontsize=16,color="green",shape="box"];6706 -> 6280[label="",style="dashed", color="red", weight=0]; 6706[label="primMinusNatS (Succ vuz187) (Succ vuz188)",fontsize=16,color="magenta"];6706 -> 6707[label="",style="dashed", color="magenta", weight=3]; 6706 -> 6708[label="",style="dashed", color="magenta", weight=3]; 6707[label="Succ vuz187",fontsize=16,color="green",shape="box"];6708[label="Succ vuz188",fontsize=16,color="green",shape="box"];} ---------------------------------------- (454) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (455) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (456) YES