/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/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, 0 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, 22 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) QDPSizeChangeProof [EQUIVALENT, 0 ms] (59) YES (60) QDP (61) UsableRulesProof [EQUIVALENT, 0 ms] (62) QDP (63) TransformationProof [EQUIVALENT, 0 ms] (64) QDP (65) DependencyGraphProof [EQUIVALENT, 0 ms] (66) AND (67) QDP (68) TransformationProof [EQUIVALENT, 0 ms] (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) DependencyGraphProof [EQUIVALENT, 0 ms] (79) QDP (80) TransformationProof [EQUIVALENT, 0 ms] (81) QDP (82) TransformationProof [EQUIVALENT, 0 ms] (83) QDP (84) DependencyGraphProof [EQUIVALENT, 0 ms] (85) QDP (86) QDPOrderProof [EQUIVALENT, 0 ms] (87) QDP (88) DependencyGraphProof [EQUIVALENT, 0 ms] (89) TRUE (90) QDP (91) TransformationProof [EQUIVALENT, 0 ms] (92) QDP (93) DependencyGraphProof [EQUIVALENT, 0 ms] (94) AND (95) QDP (96) TransformationProof [EQUIVALENT, 0 ms] (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) DependencyGraphProof [EQUIVALENT, 0 ms] (111) QDP (112) TransformationProof [EQUIVALENT, 0 ms] (113) QDP (114) QDPOrderProof [EQUIVALENT, 0 ms] (115) QDP (116) DependencyGraphProof [EQUIVALENT, 0 ms] (117) TRUE (118) QDP (119) InductionCalculusProof [EQUIVALENT, 0 ms] (120) QDP (121) QDP (122) UsableRulesProof [EQUIVALENT, 0 ms] (123) QDP (124) QReductionProof [EQUIVALENT, 0 ms] (125) QDP (126) TransformationProof [EQUIVALENT, 0 ms] (127) QDP (128) DependencyGraphProof [EQUIVALENT, 0 ms] (129) AND (130) QDP (131) UsableRulesProof [EQUIVALENT, 0 ms] (132) QDP (133) QReductionProof [EQUIVALENT, 0 ms] (134) QDP (135) TransformationProof [EQUIVALENT, 0 ms] (136) QDP (137) DependencyGraphProof [EQUIVALENT, 0 ms] (138) AND (139) QDP (140) UsableRulesProof [EQUIVALENT, 0 ms] (141) QDP (142) QReductionProof [EQUIVALENT, 0 ms] (143) QDP (144) TransformationProof [EQUIVALENT, 0 ms] (145) QDP (146) TransformationProof [EQUIVALENT, 0 ms] (147) QDP (148) DependencyGraphProof [EQUIVALENT, 0 ms] (149) QDP (150) TransformationProof [EQUIVALENT, 0 ms] (151) QDP (152) TransformationProof [EQUIVALENT, 0 ms] (153) QDP (154) TransformationProof [EQUIVALENT, 0 ms] (155) QDP (156) DependencyGraphProof [EQUIVALENT, 0 ms] (157) QDP (158) TransformationProof [EQUIVALENT, 0 ms] (159) QDP (160) TransformationProof [EQUIVALENT, 0 ms] (161) QDP (162) TransformationProof [EQUIVALENT, 0 ms] (163) QDP (164) DependencyGraphProof [EQUIVALENT, 0 ms] (165) QDP (166) QDPSizeChangeProof [EQUIVALENT, 0 ms] (167) YES (168) QDP (169) UsableRulesProof [EQUIVALENT, 0 ms] (170) QDP (171) TransformationProof [EQUIVALENT, 0 ms] (172) QDP (173) DependencyGraphProof [EQUIVALENT, 0 ms] (174) AND (175) QDP (176) TransformationProof [EQUIVALENT, 0 ms] (177) QDP (178) TransformationProof [EQUIVALENT, 0 ms] (179) QDP (180) TransformationProof [EQUIVALENT, 0 ms] (181) QDP (182) TransformationProof [EQUIVALENT, 0 ms] (183) QDP (184) TransformationProof [EQUIVALENT, 0 ms] (185) QDP (186) DependencyGraphProof [EQUIVALENT, 0 ms] (187) QDP (188) TransformationProof [EQUIVALENT, 0 ms] (189) QDP (190) TransformationProof [EQUIVALENT, 0 ms] (191) QDP (192) DependencyGraphProof [EQUIVALENT, 0 ms] (193) QDP (194) QDPOrderProof [EQUIVALENT, 0 ms] (195) QDP (196) DependencyGraphProof [EQUIVALENT, 0 ms] (197) TRUE (198) QDP (199) TransformationProof [EQUIVALENT, 0 ms] (200) QDP (201) DependencyGraphProof [EQUIVALENT, 0 ms] (202) AND (203) QDP (204) TransformationProof [EQUIVALENT, 0 ms] (205) QDP (206) TransformationProof [EQUIVALENT, 0 ms] (207) QDP (208) TransformationProof [EQUIVALENT, 0 ms] (209) QDP (210) TransformationProof [EQUIVALENT, 0 ms] (211) QDP (212) TransformationProof [EQUIVALENT, 0 ms] (213) QDP (214) TransformationProof [EQUIVALENT, 0 ms] (215) QDP (216) TransformationProof [EQUIVALENT, 0 ms] (217) QDP (218) DependencyGraphProof [EQUIVALENT, 0 ms] (219) QDP (220) TransformationProof [EQUIVALENT, 0 ms] (221) QDP (222) QDPOrderProof [EQUIVALENT, 0 ms] (223) QDP (224) DependencyGraphProof [EQUIVALENT, 0 ms] (225) TRUE (226) QDP (227) InductionCalculusProof [EQUIVALENT, 0 ms] (228) QDP (229) QDP (230) UsableRulesProof [EQUIVALENT, 0 ms] (231) QDP (232) QReductionProof [EQUIVALENT, 0 ms] (233) QDP (234) TransformationProof [EQUIVALENT, 0 ms] (235) QDP (236) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (245) QDP (246) DependencyGraphProof [EQUIVALENT, 0 ms] (247) AND (248) QDP (249) UsableRulesProof [EQUIVALENT, 0 ms] (250) QDP (251) QReductionProof [EQUIVALENT, 0 ms] (252) QDP (253) TransformationProof [EQUIVALENT, 0 ms] (254) QDP (255) TransformationProof [EQUIVALENT, 0 ms] (256) QDP (257) TransformationProof [EQUIVALENT, 0 ms] (258) QDP (259) TransformationProof [EQUIVALENT, 0 ms] (260) QDP (261) DependencyGraphProof [EQUIVALENT, 0 ms] (262) QDP (263) TransformationProof [EQUIVALENT, 0 ms] (264) QDP (265) TransformationProof [EQUIVALENT, 0 ms] (266) QDP (267) TransformationProof [EQUIVALENT, 0 ms] (268) QDP (269) DependencyGraphProof [EQUIVALENT, 0 ms] (270) QDP (271) QDPSizeChangeProof [EQUIVALENT, 0 ms] (272) YES (273) QDP (274) UsableRulesProof [EQUIVALENT, 0 ms] (275) QDP (276) QReductionProof [EQUIVALENT, 0 ms] (277) QDP (278) TransformationProof [EQUIVALENT, 0 ms] (279) QDP (280) TransformationProof [EQUIVALENT, 0 ms] (281) QDP (282) TransformationProof [EQUIVALENT, 0 ms] (283) QDP (284) DependencyGraphProof [EQUIVALENT, 0 ms] (285) QDP (286) TransformationProof [EQUIVALENT, 0 ms] (287) QDP (288) TransformationProof [EQUIVALENT, 0 ms] (289) QDP (290) TransformationProof [EQUIVALENT, 0 ms] (291) QDP (292) DependencyGraphProof [EQUIVALENT, 0 ms] (293) QDP (294) QDPSizeChangeProof [EQUIVALENT, 0 ms] (295) YES (296) QDP (297) UsableRulesProof [EQUIVALENT, 0 ms] (298) QDP (299) TransformationProof [EQUIVALENT, 0 ms] (300) QDP (301) TransformationProof [EQUIVALENT, 0 ms] (302) QDP (303) TransformationProof [EQUIVALENT, 0 ms] (304) QDP (305) TransformationProof [EQUIVALENT, 0 ms] (306) QDP (307) TransformationProof [EQUIVALENT, 0 ms] (308) QDP (309) TransformationProof [EQUIVALENT, 0 ms] (310) QDP (311) DependencyGraphProof [EQUIVALENT, 0 ms] (312) QDP (313) TransformationProof [EQUIVALENT, 0 ms] (314) QDP (315) TransformationProof [EQUIVALENT, 0 ms] (316) QDP (317) TransformationProof [EQUIVALENT, 0 ms] (318) QDP (319) TransformationProof [EQUIVALENT, 0 ms] (320) QDP (321) 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) DependencyGraphProof [EQUIVALENT, 0 ms] (332) QDP (333) TransformationProof [EQUIVALENT, 0 ms] (334) QDP (335) TransformationProof [EQUIVALENT, 0 ms] (336) QDP (337) DependencyGraphProof [EQUIVALENT, 0 ms] (338) AND (339) QDP (340) TransformationProof [EQUIVALENT, 0 ms] (341) QDP (342) TransformationProof [EQUIVALENT, 0 ms] (343) QDP (344) TransformationProof [EQUIVALENT, 0 ms] (345) QDP (346) TransformationProof [EQUIVALENT, 0 ms] (347) QDP (348) DependencyGraphProof [EQUIVALENT, 0 ms] (349) QDP (350) QDPOrderProof [EQUIVALENT, 94 ms] (351) QDP (352) DependencyGraphProof [EQUIVALENT, 0 ms] (353) TRUE (354) QDP (355) TransformationProof [EQUIVALENT, 0 ms] (356) QDP (357) DependencyGraphProof [EQUIVALENT, 0 ms] (358) QDP (359) QDPOrderProof [EQUIVALENT, 95 ms] (360) QDP (361) DependencyGraphProof [EQUIVALENT, 0 ms] (362) TRUE (363) QDP (364) TransformationProof [EQUIVALENT, 0 ms] (365) QDP (366) DependencyGraphProof [EQUIVALENT, 0 ms] (367) AND (368) QDP (369) TransformationProof [EQUIVALENT, 0 ms] (370) QDP (371) TransformationProof [EQUIVALENT, 0 ms] (372) QDP (373) TransformationProof [EQUIVALENT, 0 ms] (374) QDP (375) TransformationProof [EQUIVALENT, 0 ms] (376) QDP (377) QDPOrderProof [EQUIVALENT, 88 ms] (378) QDP (379) DependencyGraphProof [EQUIVALENT, 0 ms] (380) TRUE (381) QDP (382) QDPOrderProof [EQUIVALENT, 17 ms] (383) QDP (384) DependencyGraphProof [EQUIVALENT, 0 ms] (385) TRUE (386) QDP (387) InductionCalculusProof [EQUIVALENT, 0 ms] (388) QDP (389) QDP (390) DependencyGraphProof [EQUIVALENT, 0 ms] (391) AND (392) QDP (393) TransformationProof [EQUIVALENT, 0 ms] (394) QDP (395) TransformationProof [EQUIVALENT, 0 ms] (396) QDP (397) QDPSizeChangeProof [EQUIVALENT, 0 ms] (398) YES (399) QDP (400) QDPSizeChangeProof [EQUIVALENT, 0 ms] (401) YES (402) QDP (403) DependencyGraphProof [EQUIVALENT, 0 ms] (404) AND (405) QDP (406) MRRProof [EQUIVALENT, 0 ms] (407) QDP (408) PisEmptyProof [EQUIVALENT, 0 ms] (409) YES (410) QDP (411) QDPSizeChangeProof [EQUIVALENT, 0 ms] (412) YES (413) QDP (414) QDPSizeChangeProof [EQUIVALENT, 0 ms] (415) YES (416) QDP (417) QDPSizeChangeProof [EQUIVALENT, 0 ms] (418) YES (419) QDP (420) QDPSizeChangeProof [EQUIVALENT, 0 ms] (421) YES (422) Narrow [COMPLETE, 0 ms] (423) TRUE ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" is transformed to "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); primDivNatS0 x y False = Zero; " The following If expression "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" is transformed to "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); primModNatS0 x y False = Succ x; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "absReal0 x True = `negate` x; " "absReal1 x True = x; absReal1 x False = absReal0 x otherwise; " "absReal2 x = absReal1 x (x >= 0); " The following Function with conditions "gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); " is transformed to "gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; " "gcd'0 x y = gcd' y (x `rem` y); " "gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; " "gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; " The following Function with conditions "gcd 0 0 = error []; gcd x y = gcd' (abs x) (abs y) where { gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); } ; " is transformed to "gcd yz zu = gcd3 yz zu; gcd x y = gcd0 x y; " "gcd0 x y = gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } ; " "gcd1 True yz zu = error []; gcd1 zv zw zx = gcd0 zw zx; " "gcd2 True yz zu = gcd1 (zu == 0) yz zu; gcd2 zy zz vuu = gcd0 zz vuu; " "gcd3 yz zu = gcd2 (yz == 0) yz zu; gcd3 vuv vuw = gcd0 vuv vuw; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { d = gcd x y; } ; " is transformed to "reduce x y = reduce2 x y; " "reduce2 x y = reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } ; " ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } " are unpacked to the following functions on top level "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; " "gcd0Gcd'1 True x xz = x; gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; " "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); " "gcd0Gcd' x xz = gcd0Gcd'2 x xz; gcd0Gcd' x y = gcd0Gcd'0 x y; " The bindings of the following Let/Where expression "reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } " are unpacked to the following functions on top level "reduce2D vux vuy = gcd vux vuy; " "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); " "reduce2Reduce1 vux vuy x y True = error []; reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="(*)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(*) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="(*) vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];3156[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 3156[label="",style="solid", color="burlywood", weight=9]; 3156 -> 5[label="",style="solid", color="burlywood", weight=3]; 5[label="(*) (vuz30 :% vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];3157[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];5 -> 3157[label="",style="solid", color="burlywood", weight=9]; 3157 -> 6[label="",style="solid", color="burlywood", weight=3]; 6[label="(*) (vuz30 :% vuz31) (vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="reduce (vuz30 * vuz40) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="reduce2 (vuz30 * vuz40) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9[label="reduce2Reduce1 (vuz30 * vuz40) (vuz31 * vuz41) (vuz30 * vuz40) (vuz31 * vuz41) (vuz31 * vuz41 == fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 10[label="reduce2Reduce1 (vuz30 * vuz40) (vuz31 * vuz41) (vuz30 * vuz40) (vuz31 * vuz41) (primEqInt (vuz31 * vuz41) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 11[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt vuz31 vuz41) (vuz30 * vuz40) (primMulInt vuz31 vuz41) (primEqInt (primMulInt vuz31 vuz41) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];3158[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];11 -> 3158[label="",style="solid", color="burlywood", weight=9]; 3158 -> 12[label="",style="solid", color="burlywood", weight=3]; 3159[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];11 -> 3159[label="",style="solid", color="burlywood", weight=9]; 3159 -> 13[label="",style="solid", color="burlywood", weight=3]; 12[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Pos vuz310) vuz41) (vuz30 * vuz40) (primMulInt (Pos vuz310) vuz41) (primEqInt (primMulInt (Pos vuz310) vuz41) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];3160[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];12 -> 3160[label="",style="solid", color="burlywood", weight=9]; 3160 -> 14[label="",style="solid", color="burlywood", weight=3]; 3161[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];12 -> 3161[label="",style="solid", color="burlywood", weight=9]; 3161 -> 15[label="",style="solid", color="burlywood", weight=3]; 13[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Neg vuz310) vuz41) (vuz30 * vuz40) (primMulInt (Neg vuz310) vuz41) (primEqInt (primMulInt (Neg vuz310) vuz41) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];3162[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];13 -> 3162[label="",style="solid", color="burlywood", weight=9]; 3162 -> 16[label="",style="solid", color="burlywood", weight=3]; 3163[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];13 -> 3163[label="",style="solid", color="burlywood", weight=9]; 3163 -> 17[label="",style="solid", color="burlywood", weight=3]; 14[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Pos vuz310) (Pos vuz410)) (vuz30 * vuz40) (primMulInt (Pos vuz310) (Pos vuz410)) (primEqInt (primMulInt (Pos vuz310) (Pos vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Pos vuz310) (Neg vuz410)) (vuz30 * vuz40) (primMulInt (Pos vuz310) (Neg vuz410)) (primEqInt (primMulInt (Pos vuz310) (Neg vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Neg vuz310) (Pos vuz410)) (vuz30 * vuz40) (primMulInt (Neg vuz310) (Pos vuz410)) (primEqInt (primMulInt (Neg vuz310) (Pos vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Neg vuz310) (Neg vuz410)) (vuz30 * vuz40) (primMulInt (Neg vuz310) (Neg vuz410)) (primEqInt (primMulInt (Neg vuz310) (Neg vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18 -> 222[label="",style="dashed", color="red", weight=0]; 18[label="reduce2Reduce1 (vuz30 * vuz40) (Pos (primMulNat vuz310 vuz410)) (vuz30 * vuz40) (Pos (primMulNat vuz310 vuz410)) (primEqInt (Pos (primMulNat vuz310 vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="magenta"];18 -> 223[label="",style="dashed", color="magenta", weight=3]; 18 -> 224[label="",style="dashed", color="magenta", weight=3]; 18 -> 225[label="",style="dashed", color="magenta", weight=3]; 19 -> 269[label="",style="dashed", color="red", weight=0]; 19[label="reduce2Reduce1 (vuz30 * vuz40) (Neg (primMulNat vuz310 vuz410)) (vuz30 * vuz40) (Neg (primMulNat vuz310 vuz410)) (primEqInt (Neg (primMulNat vuz310 vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="magenta"];19 -> 270[label="",style="dashed", color="magenta", weight=3]; 19 -> 271[label="",style="dashed", color="magenta", weight=3]; 19 -> 272[label="",style="dashed", color="magenta", weight=3]; 20 -> 269[label="",style="dashed", color="red", weight=0]; 20[label="reduce2Reduce1 (vuz30 * vuz40) (Neg (primMulNat vuz310 vuz410)) (vuz30 * vuz40) (Neg (primMulNat vuz310 vuz410)) (primEqInt (Neg (primMulNat vuz310 vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="magenta"];20 -> 273[label="",style="dashed", color="magenta", weight=3]; 20 -> 274[label="",style="dashed", color="magenta", weight=3]; 20 -> 275[label="",style="dashed", color="magenta", weight=3]; 21 -> 222[label="",style="dashed", color="red", weight=0]; 21[label="reduce2Reduce1 (vuz30 * vuz40) (Pos (primMulNat vuz310 vuz410)) (vuz30 * vuz40) (Pos (primMulNat vuz310 vuz410)) (primEqInt (Pos (primMulNat vuz310 vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="magenta"];21 -> 226[label="",style="dashed", color="magenta", weight=3]; 21 -> 227[label="",style="dashed", color="magenta", weight=3]; 21 -> 228[label="",style="dashed", color="magenta", weight=3]; 223[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];3164[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];223 -> 3164[label="",style="solid", color="burlywood", weight=9]; 3164 -> 259[label="",style="solid", color="burlywood", weight=3]; 3165[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];223 -> 3165[label="",style="solid", color="burlywood", weight=9]; 3165 -> 260[label="",style="solid", color="burlywood", weight=3]; 224 -> 223[label="",style="dashed", color="red", weight=0]; 224[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];225 -> 223[label="",style="dashed", color="red", weight=0]; 225[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];222[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos vuz17) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];3166[label="vuz17/Succ vuz170",fontsize=10,color="white",style="solid",shape="box"];222 -> 3166[label="",style="solid", color="burlywood", weight=9]; 3166 -> 261[label="",style="solid", color="burlywood", weight=3]; 3167[label="vuz17/Zero",fontsize=10,color="white",style="solid",shape="box"];222 -> 3167[label="",style="solid", color="burlywood", weight=9]; 3167 -> 262[label="",style="solid", color="burlywood", weight=3]; 270 -> 223[label="",style="dashed", color="red", weight=0]; 270[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];270 -> 306[label="",style="dashed", color="magenta", weight=3]; 271 -> 223[label="",style="dashed", color="red", weight=0]; 271[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];271 -> 307[label="",style="dashed", color="magenta", weight=3]; 272 -> 223[label="",style="dashed", color="red", weight=0]; 272[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];272 -> 308[label="",style="dashed", color="magenta", weight=3]; 269[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg vuz20) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];3168[label="vuz20/Succ vuz200",fontsize=10,color="white",style="solid",shape="box"];269 -> 3168[label="",style="solid", color="burlywood", weight=9]; 3168 -> 309[label="",style="solid", color="burlywood", weight=3]; 3169[label="vuz20/Zero",fontsize=10,color="white",style="solid",shape="box"];269 -> 3169[label="",style="solid", color="burlywood", weight=9]; 3169 -> 310[label="",style="solid", color="burlywood", weight=3]; 273 -> 223[label="",style="dashed", color="red", weight=0]; 273[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];273 -> 311[label="",style="dashed", color="magenta", weight=3]; 274 -> 223[label="",style="dashed", color="red", weight=0]; 274[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];274 -> 312[label="",style="dashed", color="magenta", weight=3]; 275 -> 223[label="",style="dashed", color="red", weight=0]; 275[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];275 -> 313[label="",style="dashed", color="magenta", weight=3]; 226 -> 223[label="",style="dashed", color="red", weight=0]; 226[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];226 -> 263[label="",style="dashed", color="magenta", weight=3]; 226 -> 264[label="",style="dashed", color="magenta", weight=3]; 227 -> 223[label="",style="dashed", color="red", weight=0]; 227[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];227 -> 265[label="",style="dashed", color="magenta", weight=3]; 227 -> 266[label="",style="dashed", color="magenta", weight=3]; 228 -> 223[label="",style="dashed", color="red", weight=0]; 228[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];228 -> 267[label="",style="dashed", color="magenta", weight=3]; 228 -> 268[label="",style="dashed", color="magenta", weight=3]; 259[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];3170[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];259 -> 3170[label="",style="solid", color="burlywood", weight=9]; 3170 -> 314[label="",style="solid", color="burlywood", weight=3]; 3171[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];259 -> 3171[label="",style="solid", color="burlywood", weight=9]; 3171 -> 315[label="",style="solid", color="burlywood", weight=3]; 260[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];3172[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];260 -> 3172[label="",style="solid", color="burlywood", weight=9]; 3172 -> 316[label="",style="solid", color="burlywood", weight=3]; 3173[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];260 -> 3173[label="",style="solid", color="burlywood", weight=9]; 3173 -> 317[label="",style="solid", color="burlywood", weight=3]; 261[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos (Succ vuz170)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];261 -> 318[label="",style="solid", color="black", weight=3]; 262[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos Zero) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];262 -> 319[label="",style="solid", color="black", weight=3]; 306[label="vuz410",fontsize=16,color="green",shape="box"];307[label="vuz410",fontsize=16,color="green",shape="box"];308[label="vuz410",fontsize=16,color="green",shape="box"];309[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg (Succ vuz200)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];309 -> 320[label="",style="solid", color="black", weight=3]; 310[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg Zero) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];310 -> 321[label="",style="solid", color="black", weight=3]; 311[label="vuz310",fontsize=16,color="green",shape="box"];312[label="vuz310",fontsize=16,color="green",shape="box"];313[label="vuz310",fontsize=16,color="green",shape="box"];263[label="vuz410",fontsize=16,color="green",shape="box"];264[label="vuz310",fontsize=16,color="green",shape="box"];265[label="vuz410",fontsize=16,color="green",shape="box"];266[label="vuz310",fontsize=16,color="green",shape="box"];267[label="vuz410",fontsize=16,color="green",shape="box"];268[label="vuz310",fontsize=16,color="green",shape="box"];314[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];314 -> 322[label="",style="solid", color="black", weight=3]; 315[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];315 -> 323[label="",style="solid", color="black", weight=3]; 316[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];316 -> 324[label="",style="solid", color="black", weight=3]; 317[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];317 -> 325[label="",style="solid", color="black", weight=3]; 318[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos (Succ vuz170)) (Pos Zero))",fontsize=16,color="black",shape="box"];318 -> 326[label="",style="solid", color="black", weight=3]; 319[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];319 -> 327[label="",style="solid", color="black", weight=3]; 320[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg (Succ vuz200)) (Pos Zero))",fontsize=16,color="black",shape="box"];320 -> 328[label="",style="solid", color="black", weight=3]; 321[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];321 -> 329[label="",style="solid", color="black", weight=3]; 322 -> 330[label="",style="dashed", color="red", weight=0]; 322[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];322 -> 331[label="",style="dashed", color="magenta", weight=3]; 323[label="Zero",fontsize=16,color="green",shape="box"];324[label="Zero",fontsize=16,color="green",shape="box"];325[label="Zero",fontsize=16,color="green",shape="box"];326[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) False",fontsize=16,color="black",shape="box"];326 -> 332[label="",style="solid", color="black", weight=3]; 327[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) True",fontsize=16,color="black",shape="box"];327 -> 333[label="",style="solid", color="black", weight=3]; 328[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) False",fontsize=16,color="black",shape="box"];328 -> 334[label="",style="solid", color="black", weight=3]; 329[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) True",fontsize=16,color="black",shape="box"];329 -> 335[label="",style="solid", color="black", weight=3]; 331 -> 223[label="",style="dashed", color="red", weight=0]; 331[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];331 -> 336[label="",style="dashed", color="magenta", weight=3]; 331 -> 337[label="",style="dashed", color="magenta", weight=3]; 330[label="primPlusNat vuz21 (Succ vuz4100)",fontsize=16,color="burlywood",shape="triangle"];3174[label="vuz21/Succ vuz210",fontsize=10,color="white",style="solid",shape="box"];330 -> 3174[label="",style="solid", color="burlywood", weight=9]; 3174 -> 338[label="",style="solid", color="burlywood", weight=3]; 3175[label="vuz21/Zero",fontsize=10,color="white",style="solid",shape="box"];330 -> 3175[label="",style="solid", color="burlywood", weight=9]; 3175 -> 339[label="",style="solid", color="burlywood", weight=3]; 332[label="reduce2Reduce0 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) otherwise",fontsize=16,color="black",shape="box"];332 -> 340[label="",style="solid", color="black", weight=3]; 333[label="error []",fontsize=16,color="black",shape="triangle"];333 -> 341[label="",style="solid", color="black", weight=3]; 334[label="reduce2Reduce0 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) otherwise",fontsize=16,color="black",shape="box"];334 -> 342[label="",style="solid", color="black", weight=3]; 335 -> 333[label="",style="dashed", color="red", weight=0]; 335[label="error []",fontsize=16,color="magenta"];336[label="Succ vuz4100",fontsize=16,color="green",shape="box"];337[label="vuz3100",fontsize=16,color="green",shape="box"];338[label="primPlusNat (Succ vuz210) (Succ vuz4100)",fontsize=16,color="black",shape="box"];338 -> 343[label="",style="solid", color="black", weight=3]; 339[label="primPlusNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];339 -> 344[label="",style="solid", color="black", weight=3]; 340[label="reduce2Reduce0 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) True",fontsize=16,color="black",shape="box"];340 -> 345[label="",style="solid", color="black", weight=3]; 341[label="error []",fontsize=16,color="red",shape="box"];342[label="reduce2Reduce0 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) True",fontsize=16,color="black",shape="box"];342 -> 346[label="",style="solid", color="black", weight=3]; 343[label="Succ (Succ (primPlusNat vuz210 vuz4100))",fontsize=16,color="green",shape="box"];343 -> 347[label="",style="dashed", color="green", weight=3]; 344[label="Succ vuz4100",fontsize=16,color="green",shape="box"];345[label="vuz30 * vuz40 `quot` reduce2D (vuz30 * vuz40) (Pos vuz16) :% (Pos vuz15 `quot` reduce2D (vuz30 * vuz40) (Pos vuz16))",fontsize=16,color="green",shape="box"];345 -> 348[label="",style="dashed", color="green", weight=3]; 345 -> 349[label="",style="dashed", color="green", weight=3]; 346[label="vuz30 * vuz40 `quot` reduce2D (vuz30 * vuz40) (Neg vuz19) :% (Neg vuz18 `quot` reduce2D (vuz30 * vuz40) (Neg vuz19))",fontsize=16,color="green",shape="box"];346 -> 350[label="",style="dashed", color="green", weight=3]; 346 -> 351[label="",style="dashed", color="green", weight=3]; 347[label="primPlusNat vuz210 vuz4100",fontsize=16,color="burlywood",shape="triangle"];3176[label="vuz210/Succ vuz2100",fontsize=10,color="white",style="solid",shape="box"];347 -> 3176[label="",style="solid", color="burlywood", weight=9]; 3176 -> 352[label="",style="solid", color="burlywood", weight=3]; 3177[label="vuz210/Zero",fontsize=10,color="white",style="solid",shape="box"];347 -> 3177[label="",style="solid", color="burlywood", weight=9]; 3177 -> 353[label="",style="solid", color="burlywood", weight=3]; 348[label="vuz30 * vuz40 `quot` reduce2D (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];348 -> 354[label="",style="solid", color="black", weight=3]; 349[label="Pos vuz15 `quot` reduce2D (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];349 -> 355[label="",style="solid", color="black", weight=3]; 350[label="vuz30 * vuz40 `quot` reduce2D (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];350 -> 356[label="",style="solid", color="black", weight=3]; 351[label="Neg vuz18 `quot` reduce2D (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];351 -> 357[label="",style="solid", color="black", weight=3]; 352[label="primPlusNat (Succ vuz2100) vuz4100",fontsize=16,color="burlywood",shape="box"];3178[label="vuz4100/Succ vuz41000",fontsize=10,color="white",style="solid",shape="box"];352 -> 3178[label="",style="solid", color="burlywood", weight=9]; 3178 -> 358[label="",style="solid", color="burlywood", weight=3]; 3179[label="vuz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];352 -> 3179[label="",style="solid", color="burlywood", weight=9]; 3179 -> 359[label="",style="solid", color="burlywood", weight=3]; 353[label="primPlusNat Zero vuz4100",fontsize=16,color="burlywood",shape="box"];3180[label="vuz4100/Succ vuz41000",fontsize=10,color="white",style="solid",shape="box"];353 -> 3180[label="",style="solid", color="burlywood", weight=9]; 3180 -> 360[label="",style="solid", color="burlywood", weight=3]; 3181[label="vuz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];353 -> 3181[label="",style="solid", color="burlywood", weight=9]; 3181 -> 361[label="",style="solid", color="burlywood", weight=3]; 354[label="primQuotInt (vuz30 * vuz40) (reduce2D (vuz30 * vuz40) (Pos vuz16))",fontsize=16,color="black",shape="box"];354 -> 362[label="",style="solid", color="black", weight=3]; 355 -> 2212[label="",style="dashed", color="red", weight=0]; 355[label="primQuotInt (Pos vuz15) (reduce2D (vuz30 * vuz40) (Pos vuz16))",fontsize=16,color="magenta"];355 -> 2213[label="",style="dashed", color="magenta", weight=3]; 356[label="primQuotInt (vuz30 * vuz40) (reduce2D (vuz30 * vuz40) (Neg vuz19))",fontsize=16,color="black",shape="box"];356 -> 364[label="",style="solid", color="black", weight=3]; 357 -> 997[label="",style="dashed", color="red", weight=0]; 357[label="primQuotInt (Neg vuz18) (reduce2D (vuz30 * vuz40) (Neg vuz19))",fontsize=16,color="magenta"];357 -> 998[label="",style="dashed", color="magenta", weight=3]; 357 -> 999[label="",style="dashed", color="magenta", weight=3]; 358[label="primPlusNat (Succ vuz2100) (Succ vuz41000)",fontsize=16,color="black",shape="box"];358 -> 366[label="",style="solid", color="black", weight=3]; 359[label="primPlusNat (Succ vuz2100) Zero",fontsize=16,color="black",shape="box"];359 -> 367[label="",style="solid", color="black", weight=3]; 360[label="primPlusNat Zero (Succ vuz41000)",fontsize=16,color="black",shape="box"];360 -> 368[label="",style="solid", color="black", weight=3]; 361[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];361 -> 369[label="",style="solid", color="black", weight=3]; 362[label="primQuotInt (primMulInt vuz30 vuz40) (reduce2D (primMulInt vuz30 vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3182[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];362 -> 3182[label="",style="solid", color="burlywood", weight=9]; 3182 -> 370[label="",style="solid", color="burlywood", weight=3]; 3183[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];362 -> 3183[label="",style="solid", color="burlywood", weight=9]; 3183 -> 371[label="",style="solid", color="burlywood", weight=3]; 2213[label="reduce2D (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2213 -> 2622[label="",style="solid", color="black", weight=3]; 2212[label="primQuotInt (Pos vuz15) vuz83",fontsize=16,color="burlywood",shape="triangle"];3184[label="vuz83/Pos vuz830",fontsize=10,color="white",style="solid",shape="box"];2212 -> 3184[label="",style="solid", color="burlywood", weight=9]; 3184 -> 2623[label="",style="solid", color="burlywood", weight=3]; 3185[label="vuz83/Neg vuz830",fontsize=10,color="white",style="solid",shape="box"];2212 -> 3185[label="",style="solid", color="burlywood", weight=9]; 3185 -> 2624[label="",style="solid", color="burlywood", weight=3]; 364[label="primQuotInt (primMulInt vuz30 vuz40) (reduce2D (primMulInt vuz30 vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3186[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];364 -> 3186[label="",style="solid", color="burlywood", weight=9]; 3186 -> 373[label="",style="solid", color="burlywood", weight=3]; 3187[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];364 -> 3187[label="",style="solid", color="burlywood", weight=9]; 3187 -> 374[label="",style="solid", color="burlywood", weight=3]; 998[label="vuz18",fontsize=16,color="green",shape="box"];999[label="reduce2D (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];999 -> 1444[label="",style="solid", color="black", weight=3]; 997[label="primQuotInt (Neg vuz39) vuz40",fontsize=16,color="burlywood",shape="triangle"];3188[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];997 -> 3188[label="",style="solid", color="burlywood", weight=9]; 3188 -> 1445[label="",style="solid", color="burlywood", weight=3]; 3189[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];997 -> 3189[label="",style="solid", color="burlywood", weight=9]; 3189 -> 1446[label="",style="solid", color="burlywood", weight=3]; 366[label="Succ (Succ (primPlusNat vuz2100 vuz41000))",fontsize=16,color="green",shape="box"];366 -> 376[label="",style="dashed", color="green", weight=3]; 367[label="Succ vuz2100",fontsize=16,color="green",shape="box"];368[label="Succ vuz41000",fontsize=16,color="green",shape="box"];369[label="Zero",fontsize=16,color="green",shape="box"];370[label="primQuotInt (primMulInt (Pos vuz300) vuz40) (reduce2D (primMulInt (Pos vuz300) vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3190[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];370 -> 3190[label="",style="solid", color="burlywood", weight=9]; 3190 -> 377[label="",style="solid", color="burlywood", weight=3]; 3191[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];370 -> 3191[label="",style="solid", color="burlywood", weight=9]; 3191 -> 378[label="",style="solid", color="burlywood", weight=3]; 371[label="primQuotInt (primMulInt (Neg vuz300) vuz40) (reduce2D (primMulInt (Neg vuz300) vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3192[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];371 -> 3192[label="",style="solid", color="burlywood", weight=9]; 3192 -> 379[label="",style="solid", color="burlywood", weight=3]; 3193[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];371 -> 3193[label="",style="solid", color="burlywood", weight=9]; 3193 -> 380[label="",style="solid", color="burlywood", weight=3]; 2622[label="gcd (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2622 -> 2630[label="",style="solid", color="black", weight=3]; 2623[label="primQuotInt (Pos vuz15) (Pos vuz830)",fontsize=16,color="burlywood",shape="box"];3194[label="vuz830/Succ vuz8300",fontsize=10,color="white",style="solid",shape="box"];2623 -> 3194[label="",style="solid", color="burlywood", weight=9]; 3194 -> 2631[label="",style="solid", color="burlywood", weight=3]; 3195[label="vuz830/Zero",fontsize=10,color="white",style="solid",shape="box"];2623 -> 3195[label="",style="solid", color="burlywood", weight=9]; 3195 -> 2632[label="",style="solid", color="burlywood", weight=3]; 2624[label="primQuotInt (Pos vuz15) (Neg vuz830)",fontsize=16,color="burlywood",shape="box"];3196[label="vuz830/Succ vuz8300",fontsize=10,color="white",style="solid",shape="box"];2624 -> 3196[label="",style="solid", color="burlywood", weight=9]; 3196 -> 2633[label="",style="solid", color="burlywood", weight=3]; 3197[label="vuz830/Zero",fontsize=10,color="white",style="solid",shape="box"];2624 -> 3197[label="",style="solid", color="burlywood", weight=9]; 3197 -> 2634[label="",style="solid", color="burlywood", weight=3]; 373[label="primQuotInt (primMulInt (Pos vuz300) vuz40) (reduce2D (primMulInt (Pos vuz300) vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3198[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];373 -> 3198[label="",style="solid", color="burlywood", weight=9]; 3198 -> 382[label="",style="solid", color="burlywood", weight=3]; 3199[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];373 -> 3199[label="",style="solid", color="burlywood", weight=9]; 3199 -> 383[label="",style="solid", color="burlywood", weight=3]; 374[label="primQuotInt (primMulInt (Neg vuz300) vuz40) (reduce2D (primMulInt (Neg vuz300) vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3200[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];374 -> 3200[label="",style="solid", color="burlywood", weight=9]; 3200 -> 384[label="",style="solid", color="burlywood", weight=3]; 3201[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];374 -> 3201[label="",style="solid", color="burlywood", weight=9]; 3201 -> 385[label="",style="solid", color="burlywood", weight=3]; 1444[label="gcd (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1444 -> 1452[label="",style="solid", color="black", weight=3]; 1445[label="primQuotInt (Neg vuz39) (Pos vuz400)",fontsize=16,color="burlywood",shape="box"];3202[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];1445 -> 3202[label="",style="solid", color="burlywood", weight=9]; 3202 -> 1453[label="",style="solid", color="burlywood", weight=3]; 3203[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];1445 -> 3203[label="",style="solid", color="burlywood", weight=9]; 3203 -> 1454[label="",style="solid", color="burlywood", weight=3]; 1446[label="primQuotInt (Neg vuz39) (Neg vuz400)",fontsize=16,color="burlywood",shape="box"];3204[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];1446 -> 3204[label="",style="solid", color="burlywood", weight=9]; 3204 -> 1455[label="",style="solid", color="burlywood", weight=3]; 3205[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];1446 -> 3205[label="",style="solid", color="burlywood", weight=9]; 3205 -> 1456[label="",style="solid", color="burlywood", weight=3]; 376 -> 347[label="",style="dashed", color="red", weight=0]; 376[label="primPlusNat vuz2100 vuz41000",fontsize=16,color="magenta"];376 -> 387[label="",style="dashed", color="magenta", weight=3]; 376 -> 388[label="",style="dashed", color="magenta", weight=3]; 377[label="primQuotInt (primMulInt (Pos vuz300) (Pos vuz400)) (reduce2D (primMulInt (Pos vuz300) (Pos vuz400)) (Pos vuz16))",fontsize=16,color="black",shape="box"];377 -> 389[label="",style="solid", color="black", weight=3]; 378[label="primQuotInt (primMulInt (Pos vuz300) (Neg vuz400)) (reduce2D (primMulInt (Pos vuz300) (Neg vuz400)) (Pos vuz16))",fontsize=16,color="black",shape="box"];378 -> 390[label="",style="solid", color="black", weight=3]; 379[label="primQuotInt (primMulInt (Neg vuz300) (Pos vuz400)) (reduce2D (primMulInt (Neg vuz300) (Pos vuz400)) (Pos vuz16))",fontsize=16,color="black",shape="box"];379 -> 391[label="",style="solid", color="black", weight=3]; 380[label="primQuotInt (primMulInt (Neg vuz300) (Neg vuz400)) (reduce2D (primMulInt (Neg vuz300) (Neg vuz400)) (Pos vuz16))",fontsize=16,color="black",shape="box"];380 -> 392[label="",style="solid", color="black", weight=3]; 2630[label="gcd3 (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2630 -> 2642[label="",style="solid", color="black", weight=3]; 2631[label="primQuotInt (Pos vuz15) (Pos (Succ vuz8300))",fontsize=16,color="black",shape="box"];2631 -> 2643[label="",style="solid", color="black", weight=3]; 2632[label="primQuotInt (Pos vuz15) (Pos Zero)",fontsize=16,color="black",shape="box"];2632 -> 2644[label="",style="solid", color="black", weight=3]; 2633[label="primQuotInt (Pos vuz15) (Neg (Succ vuz8300))",fontsize=16,color="black",shape="box"];2633 -> 2645[label="",style="solid", color="black", weight=3]; 2634[label="primQuotInt (Pos vuz15) (Neg Zero)",fontsize=16,color="black",shape="box"];2634 -> 2646[label="",style="solid", color="black", weight=3]; 382[label="primQuotInt (primMulInt (Pos vuz300) (Pos vuz400)) (reduce2D (primMulInt (Pos vuz300) (Pos vuz400)) (Neg vuz19))",fontsize=16,color="black",shape="box"];382 -> 394[label="",style="solid", color="black", weight=3]; 383[label="primQuotInt (primMulInt (Pos vuz300) (Neg vuz400)) (reduce2D (primMulInt (Pos vuz300) (Neg vuz400)) (Neg vuz19))",fontsize=16,color="black",shape="box"];383 -> 395[label="",style="solid", color="black", weight=3]; 384[label="primQuotInt (primMulInt (Neg vuz300) (Pos vuz400)) (reduce2D (primMulInt (Neg vuz300) (Pos vuz400)) (Neg vuz19))",fontsize=16,color="black",shape="box"];384 -> 396[label="",style="solid", color="black", weight=3]; 385[label="primQuotInt (primMulInt (Neg vuz300) (Neg vuz400)) (reduce2D (primMulInt (Neg vuz300) (Neg vuz400)) (Neg vuz19))",fontsize=16,color="black",shape="box"];385 -> 397[label="",style="solid", color="black", weight=3]; 1452[label="gcd3 (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1452 -> 1464[label="",style="solid", color="black", weight=3]; 1453[label="primQuotInt (Neg vuz39) (Pos (Succ vuz4000))",fontsize=16,color="black",shape="box"];1453 -> 1465[label="",style="solid", color="black", weight=3]; 1454[label="primQuotInt (Neg vuz39) (Pos Zero)",fontsize=16,color="black",shape="box"];1454 -> 1466[label="",style="solid", color="black", weight=3]; 1455[label="primQuotInt (Neg vuz39) (Neg (Succ vuz4000))",fontsize=16,color="black",shape="box"];1455 -> 1467[label="",style="solid", color="black", weight=3]; 1456[label="primQuotInt (Neg vuz39) (Neg Zero)",fontsize=16,color="black",shape="box"];1456 -> 1468[label="",style="solid", color="black", weight=3]; 387[label="vuz2100",fontsize=16,color="green",shape="box"];388[label="vuz41000",fontsize=16,color="green",shape="box"];389 -> 2212[label="",style="dashed", color="red", weight=0]; 389[label="primQuotInt (Pos (primMulNat vuz300 vuz400)) (reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16))",fontsize=16,color="magenta"];389 -> 2217[label="",style="dashed", color="magenta", weight=3]; 389 -> 2218[label="",style="dashed", color="magenta", weight=3]; 390 -> 997[label="",style="dashed", color="red", weight=0]; 390[label="primQuotInt (Neg (primMulNat vuz300 vuz400)) (reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16))",fontsize=16,color="magenta"];390 -> 1006[label="",style="dashed", color="magenta", weight=3]; 390 -> 1007[label="",style="dashed", color="magenta", weight=3]; 391 -> 997[label="",style="dashed", color="red", weight=0]; 391[label="primQuotInt (Neg (primMulNat vuz300 vuz400)) (reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16))",fontsize=16,color="magenta"];391 -> 1008[label="",style="dashed", color="magenta", weight=3]; 391 -> 1009[label="",style="dashed", color="magenta", weight=3]; 392 -> 2212[label="",style="dashed", color="red", weight=0]; 392[label="primQuotInt (Pos (primMulNat vuz300 vuz400)) (reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16))",fontsize=16,color="magenta"];392 -> 2219[label="",style="dashed", color="magenta", weight=3]; 392 -> 2220[label="",style="dashed", color="magenta", weight=3]; 2642[label="gcd2 (vuz30 * vuz40 == fromInt (Pos Zero)) (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2642 -> 2669[label="",style="solid", color="black", weight=3]; 2643[label="Pos (primDivNatS vuz15 (Succ vuz8300))",fontsize=16,color="green",shape="box"];2643 -> 2670[label="",style="dashed", color="green", weight=3]; 2644 -> 1466[label="",style="dashed", color="red", weight=0]; 2644[label="error []",fontsize=16,color="magenta"];2645[label="Neg (primDivNatS vuz15 (Succ vuz8300))",fontsize=16,color="green",shape="box"];2645 -> 2671[label="",style="dashed", color="green", weight=3]; 2646 -> 1466[label="",style="dashed", color="red", weight=0]; 2646[label="error []",fontsize=16,color="magenta"];394 -> 2212[label="",style="dashed", color="red", weight=0]; 394[label="primQuotInt (Pos (primMulNat vuz300 vuz400)) (reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19))",fontsize=16,color="magenta"];394 -> 2222[label="",style="dashed", color="magenta", weight=3]; 394 -> 2223[label="",style="dashed", color="magenta", weight=3]; 395 -> 997[label="",style="dashed", color="red", weight=0]; 395[label="primQuotInt (Neg (primMulNat vuz300 vuz400)) (reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19))",fontsize=16,color="magenta"];395 -> 1010[label="",style="dashed", color="magenta", weight=3]; 395 -> 1011[label="",style="dashed", color="magenta", weight=3]; 396 -> 997[label="",style="dashed", color="red", weight=0]; 396[label="primQuotInt (Neg (primMulNat vuz300 vuz400)) (reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19))",fontsize=16,color="magenta"];396 -> 1012[label="",style="dashed", color="magenta", weight=3]; 396 -> 1013[label="",style="dashed", color="magenta", weight=3]; 397 -> 2212[label="",style="dashed", color="red", weight=0]; 397[label="primQuotInt (Pos (primMulNat vuz300 vuz400)) (reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19))",fontsize=16,color="magenta"];397 -> 2224[label="",style="dashed", color="magenta", weight=3]; 397 -> 2225[label="",style="dashed", color="magenta", weight=3]; 1464[label="gcd2 (vuz30 * vuz40 == fromInt (Pos Zero)) (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1464 -> 1487[label="",style="solid", color="black", weight=3]; 1465[label="Neg (primDivNatS vuz39 (Succ vuz4000))",fontsize=16,color="green",shape="box"];1465 -> 1488[label="",style="dashed", color="green", weight=3]; 1466[label="error []",fontsize=16,color="black",shape="triangle"];1466 -> 1489[label="",style="solid", color="black", weight=3]; 1467[label="Pos (primDivNatS vuz39 (Succ vuz4000))",fontsize=16,color="green",shape="box"];1467 -> 1490[label="",style="dashed", color="green", weight=3]; 1468 -> 1466[label="",style="dashed", color="red", weight=0]; 1468[label="error []",fontsize=16,color="magenta"];2217 -> 223[label="",style="dashed", color="red", weight=0]; 2217[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2217 -> 2625[label="",style="dashed", color="magenta", weight=3]; 2217 -> 2626[label="",style="dashed", color="magenta", weight=3]; 2218 -> 2627[label="",style="dashed", color="red", weight=0]; 2218[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2218 -> 2628[label="",style="dashed", color="magenta", weight=3]; 1006 -> 223[label="",style="dashed", color="red", weight=0]; 1006[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1006 -> 1447[label="",style="dashed", color="magenta", weight=3]; 1006 -> 1448[label="",style="dashed", color="magenta", weight=3]; 1007 -> 1449[label="",style="dashed", color="red", weight=0]; 1007[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];1007 -> 1450[label="",style="dashed", color="magenta", weight=3]; 1008 -> 223[label="",style="dashed", color="red", weight=0]; 1008[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1008 -> 1457[label="",style="dashed", color="magenta", weight=3]; 1008 -> 1458[label="",style="dashed", color="magenta", weight=3]; 1009 -> 1449[label="",style="dashed", color="red", weight=0]; 1009[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];1009 -> 1451[label="",style="dashed", color="magenta", weight=3]; 2219 -> 223[label="",style="dashed", color="red", weight=0]; 2219[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2219 -> 2635[label="",style="dashed", color="magenta", weight=3]; 2219 -> 2636[label="",style="dashed", color="magenta", weight=3]; 2220 -> 2627[label="",style="dashed", color="red", weight=0]; 2220[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2220 -> 2629[label="",style="dashed", color="magenta", weight=3]; 2669[label="gcd2 (primEqInt (vuz30 * vuz40) (fromInt (Pos Zero))) (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2669 -> 2685[label="",style="solid", color="black", weight=3]; 2670 -> 1488[label="",style="dashed", color="red", weight=0]; 2670[label="primDivNatS vuz15 (Succ vuz8300)",fontsize=16,color="magenta"];2670 -> 2686[label="",style="dashed", color="magenta", weight=3]; 2670 -> 2687[label="",style="dashed", color="magenta", weight=3]; 2671 -> 1488[label="",style="dashed", color="red", weight=0]; 2671[label="primDivNatS vuz15 (Succ vuz8300)",fontsize=16,color="magenta"];2671 -> 2688[label="",style="dashed", color="magenta", weight=3]; 2671 -> 2689[label="",style="dashed", color="magenta", weight=3]; 2222 -> 223[label="",style="dashed", color="red", weight=0]; 2222[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2222 -> 2637[label="",style="dashed", color="magenta", weight=3]; 2222 -> 2638[label="",style="dashed", color="magenta", weight=3]; 2223 -> 2639[label="",style="dashed", color="red", weight=0]; 2223[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];2223 -> 2640[label="",style="dashed", color="magenta", weight=3]; 1010 -> 223[label="",style="dashed", color="red", weight=0]; 1010[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1010 -> 1459[label="",style="dashed", color="magenta", weight=3]; 1010 -> 1460[label="",style="dashed", color="magenta", weight=3]; 1011 -> 1461[label="",style="dashed", color="red", weight=0]; 1011[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1011 -> 1462[label="",style="dashed", color="magenta", weight=3]; 1012 -> 223[label="",style="dashed", color="red", weight=0]; 1012[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1012 -> 1469[label="",style="dashed", color="magenta", weight=3]; 1012 -> 1470[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1461[label="",style="dashed", color="red", weight=0]; 1013[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1013 -> 1463[label="",style="dashed", color="magenta", weight=3]; 2224 -> 223[label="",style="dashed", color="red", weight=0]; 2224[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2224 -> 2647[label="",style="dashed", color="magenta", weight=3]; 2224 -> 2648[label="",style="dashed", color="magenta", weight=3]; 2225 -> 2639[label="",style="dashed", color="red", weight=0]; 2225[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];2225 -> 2641[label="",style="dashed", color="magenta", weight=3]; 1487[label="gcd2 (primEqInt (vuz30 * vuz40) (fromInt (Pos Zero))) (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1487 -> 1501[label="",style="solid", color="black", weight=3]; 1488[label="primDivNatS vuz39 (Succ vuz4000)",fontsize=16,color="burlywood",shape="triangle"];3206[label="vuz39/Succ vuz390",fontsize=10,color="white",style="solid",shape="box"];1488 -> 3206[label="",style="solid", color="burlywood", weight=9]; 3206 -> 1502[label="",style="solid", color="burlywood", weight=3]; 3207[label="vuz39/Zero",fontsize=10,color="white",style="solid",shape="box"];1488 -> 3207[label="",style="solid", color="burlywood", weight=9]; 3207 -> 1503[label="",style="solid", color="burlywood", weight=3]; 1489[label="error []",fontsize=16,color="red",shape="box"];1490 -> 1488[label="",style="dashed", color="red", weight=0]; 1490[label="primDivNatS vuz39 (Succ vuz4000)",fontsize=16,color="magenta"];1490 -> 1504[label="",style="dashed", color="magenta", weight=3]; 2625[label="vuz400",fontsize=16,color="green",shape="box"];2626[label="vuz300",fontsize=16,color="green",shape="box"];2628 -> 223[label="",style="dashed", color="red", weight=0]; 2628[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2628 -> 2649[label="",style="dashed", color="magenta", weight=3]; 2628 -> 2650[label="",style="dashed", color="magenta", weight=3]; 2627[label="reduce2D (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="triangle"];2627 -> 2651[label="",style="solid", color="black", weight=3]; 1447[label="vuz400",fontsize=16,color="green",shape="box"];1448[label="vuz300",fontsize=16,color="green",shape="box"];1450 -> 223[label="",style="dashed", color="red", weight=0]; 1450[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1450 -> 1471[label="",style="dashed", color="magenta", weight=3]; 1450 -> 1472[label="",style="dashed", color="magenta", weight=3]; 1449[label="reduce2D (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="triangle"];1449 -> 1473[label="",style="solid", color="black", weight=3]; 1457[label="vuz400",fontsize=16,color="green",shape="box"];1458[label="vuz300",fontsize=16,color="green",shape="box"];1451 -> 223[label="",style="dashed", color="red", weight=0]; 1451[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1451 -> 1474[label="",style="dashed", color="magenta", weight=3]; 1451 -> 1475[label="",style="dashed", color="magenta", weight=3]; 2635[label="vuz400",fontsize=16,color="green",shape="box"];2636[label="vuz300",fontsize=16,color="green",shape="box"];2629 -> 223[label="",style="dashed", color="red", weight=0]; 2629[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2629 -> 2652[label="",style="dashed", color="magenta", weight=3]; 2629 -> 2653[label="",style="dashed", color="magenta", weight=3]; 2685[label="gcd2 (primEqInt (primMulInt vuz30 vuz40) (fromInt (Pos Zero))) (primMulInt vuz30 vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3208[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];2685 -> 3208[label="",style="solid", color="burlywood", weight=9]; 3208 -> 2701[label="",style="solid", color="burlywood", weight=3]; 3209[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];2685 -> 3209[label="",style="solid", color="burlywood", weight=9]; 3209 -> 2702[label="",style="solid", color="burlywood", weight=3]; 2686[label="vuz15",fontsize=16,color="green",shape="box"];2687[label="vuz8300",fontsize=16,color="green",shape="box"];2688[label="vuz15",fontsize=16,color="green",shape="box"];2689[label="vuz8300",fontsize=16,color="green",shape="box"];2637[label="vuz400",fontsize=16,color="green",shape="box"];2638[label="vuz300",fontsize=16,color="green",shape="box"];2640 -> 223[label="",style="dashed", color="red", weight=0]; 2640[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2640 -> 2654[label="",style="dashed", color="magenta", weight=3]; 2640 -> 2655[label="",style="dashed", color="magenta", weight=3]; 2639[label="reduce2D (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];2639 -> 2656[label="",style="solid", color="black", weight=3]; 1459[label="vuz400",fontsize=16,color="green",shape="box"];1460[label="vuz300",fontsize=16,color="green",shape="box"];1462 -> 223[label="",style="dashed", color="red", weight=0]; 1462[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1462 -> 1476[label="",style="dashed", color="magenta", weight=3]; 1462 -> 1477[label="",style="dashed", color="magenta", weight=3]; 1461[label="reduce2D (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];1461 -> 1478[label="",style="solid", color="black", weight=3]; 1469[label="vuz400",fontsize=16,color="green",shape="box"];1470[label="vuz300",fontsize=16,color="green",shape="box"];1463 -> 223[label="",style="dashed", color="red", weight=0]; 1463[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1463 -> 1479[label="",style="dashed", color="magenta", weight=3]; 1463 -> 1480[label="",style="dashed", color="magenta", weight=3]; 2647[label="vuz400",fontsize=16,color="green",shape="box"];2648[label="vuz300",fontsize=16,color="green",shape="box"];2641 -> 223[label="",style="dashed", color="red", weight=0]; 2641[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2641 -> 2657[label="",style="dashed", color="magenta", weight=3]; 2641 -> 2658[label="",style="dashed", color="magenta", weight=3]; 1501[label="gcd2 (primEqInt (primMulInt vuz30 vuz40) (fromInt (Pos Zero))) (primMulInt vuz30 vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3210[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];1501 -> 3210[label="",style="solid", color="burlywood", weight=9]; 3210 -> 1513[label="",style="solid", color="burlywood", weight=3]; 3211[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];1501 -> 3211[label="",style="solid", color="burlywood", weight=9]; 3211 -> 1514[label="",style="solid", color="burlywood", weight=3]; 1502[label="primDivNatS (Succ vuz390) (Succ vuz4000)",fontsize=16,color="black",shape="box"];1502 -> 1515[label="",style="solid", color="black", weight=3]; 1503[label="primDivNatS Zero (Succ vuz4000)",fontsize=16,color="black",shape="box"];1503 -> 1516[label="",style="solid", color="black", weight=3]; 1504[label="vuz4000",fontsize=16,color="green",shape="box"];2649[label="vuz400",fontsize=16,color="green",shape="box"];2650[label="vuz300",fontsize=16,color="green",shape="box"];2651[label="gcd (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="box"];2651 -> 2672[label="",style="solid", color="black", weight=3]; 1471[label="vuz400",fontsize=16,color="green",shape="box"];1472[label="vuz300",fontsize=16,color="green",shape="box"];1473[label="gcd (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="box"];1473 -> 1491[label="",style="solid", color="black", weight=3]; 1474[label="vuz400",fontsize=16,color="green",shape="box"];1475[label="vuz300",fontsize=16,color="green",shape="box"];2652[label="vuz400",fontsize=16,color="green",shape="box"];2653[label="vuz300",fontsize=16,color="green",shape="box"];2701[label="gcd2 (primEqInt (primMulInt (Pos vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3212[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];2701 -> 3212[label="",style="solid", color="burlywood", weight=9]; 3212 -> 2712[label="",style="solid", color="burlywood", weight=3]; 3213[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];2701 -> 3213[label="",style="solid", color="burlywood", weight=9]; 3213 -> 2713[label="",style="solid", color="burlywood", weight=3]; 2702[label="gcd2 (primEqInt (primMulInt (Neg vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3214[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];2702 -> 3214[label="",style="solid", color="burlywood", weight=9]; 3214 -> 2714[label="",style="solid", color="burlywood", weight=3]; 3215[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];2702 -> 3215[label="",style="solid", color="burlywood", weight=9]; 3215 -> 2715[label="",style="solid", color="burlywood", weight=3]; 2654[label="vuz400",fontsize=16,color="green",shape="box"];2655[label="vuz300",fontsize=16,color="green",shape="box"];2656[label="gcd (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="box"];2656 -> 2673[label="",style="solid", color="black", weight=3]; 1476[label="vuz400",fontsize=16,color="green",shape="box"];1477[label="vuz300",fontsize=16,color="green",shape="box"];1478[label="gcd (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="box"];1478 -> 1492[label="",style="solid", color="black", weight=3]; 1479[label="vuz400",fontsize=16,color="green",shape="box"];1480[label="vuz300",fontsize=16,color="green",shape="box"];2657[label="vuz400",fontsize=16,color="green",shape="box"];2658[label="vuz300",fontsize=16,color="green",shape="box"];1513[label="gcd2 (primEqInt (primMulInt (Pos vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3216[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];1513 -> 3216[label="",style="solid", color="burlywood", weight=9]; 3216 -> 1525[label="",style="solid", color="burlywood", weight=3]; 3217[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];1513 -> 3217[label="",style="solid", color="burlywood", weight=9]; 3217 -> 1526[label="",style="solid", color="burlywood", weight=3]; 1514[label="gcd2 (primEqInt (primMulInt (Neg vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3218[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];1514 -> 3218[label="",style="solid", color="burlywood", weight=9]; 3218 -> 1527[label="",style="solid", color="burlywood", weight=3]; 3219[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];1514 -> 3219[label="",style="solid", color="burlywood", weight=9]; 3219 -> 1528[label="",style="solid", color="burlywood", weight=3]; 1515[label="primDivNatS0 vuz390 vuz4000 (primGEqNatS vuz390 vuz4000)",fontsize=16,color="burlywood",shape="box"];3220[label="vuz390/Succ vuz3900",fontsize=10,color="white",style="solid",shape="box"];1515 -> 3220[label="",style="solid", color="burlywood", weight=9]; 3220 -> 1529[label="",style="solid", color="burlywood", weight=3]; 3221[label="vuz390/Zero",fontsize=10,color="white",style="solid",shape="box"];1515 -> 3221[label="",style="solid", color="burlywood", weight=9]; 3221 -> 1530[label="",style="solid", color="burlywood", weight=3]; 1516[label="Zero",fontsize=16,color="green",shape="box"];2672[label="gcd3 (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="box"];2672 -> 2690[label="",style="solid", color="black", weight=3]; 1491[label="gcd3 (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="box"];1491 -> 1505[label="",style="solid", color="black", weight=3]; 2712[label="gcd2 (primEqInt (primMulInt (Pos vuz300) (Pos vuz400)) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) (Pos vuz400)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2712 -> 2728[label="",style="solid", color="black", weight=3]; 2713[label="gcd2 (primEqInt (primMulInt (Pos vuz300) (Neg vuz400)) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) (Neg vuz400)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2713 -> 2729[label="",style="solid", color="black", weight=3]; 2714[label="gcd2 (primEqInt (primMulInt (Neg vuz300) (Pos vuz400)) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) (Pos vuz400)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2714 -> 2730[label="",style="solid", color="black", weight=3]; 2715[label="gcd2 (primEqInt (primMulInt (Neg vuz300) (Neg vuz400)) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) (Neg vuz400)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2715 -> 2731[label="",style="solid", color="black", weight=3]; 2673[label="gcd3 (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="box"];2673 -> 2691[label="",style="solid", color="black", weight=3]; 1492[label="gcd3 (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="box"];1492 -> 1506[label="",style="solid", color="black", weight=3]; 1525[label="gcd2 (primEqInt (primMulInt (Pos vuz300) (Pos vuz400)) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) (Pos vuz400)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1525 -> 1542[label="",style="solid", color="black", weight=3]; 1526[label="gcd2 (primEqInt (primMulInt (Pos vuz300) (Neg vuz400)) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) (Neg vuz400)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1526 -> 1543[label="",style="solid", color="black", weight=3]; 1527[label="gcd2 (primEqInt (primMulInt (Neg vuz300) (Pos vuz400)) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) (Pos vuz400)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1527 -> 1544[label="",style="solid", color="black", weight=3]; 1528[label="gcd2 (primEqInt (primMulInt (Neg vuz300) (Neg vuz400)) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) (Neg vuz400)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1528 -> 1545[label="",style="solid", color="black", weight=3]; 1529[label="primDivNatS0 (Succ vuz3900) vuz4000 (primGEqNatS (Succ vuz3900) vuz4000)",fontsize=16,color="burlywood",shape="box"];3222[label="vuz4000/Succ vuz40000",fontsize=10,color="white",style="solid",shape="box"];1529 -> 3222[label="",style="solid", color="burlywood", weight=9]; 3222 -> 1546[label="",style="solid", color="burlywood", weight=3]; 3223[label="vuz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];1529 -> 3223[label="",style="solid", color="burlywood", weight=9]; 3223 -> 1547[label="",style="solid", color="burlywood", weight=3]; 1530[label="primDivNatS0 Zero vuz4000 (primGEqNatS Zero vuz4000)",fontsize=16,color="burlywood",shape="box"];3224[label="vuz4000/Succ vuz40000",fontsize=10,color="white",style="solid",shape="box"];1530 -> 3224[label="",style="solid", color="burlywood", weight=9]; 3224 -> 1548[label="",style="solid", color="burlywood", weight=3]; 3225[label="vuz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];1530 -> 3225[label="",style="solid", color="burlywood", weight=9]; 3225 -> 1549[label="",style="solid", color="burlywood", weight=3]; 2690[label="gcd2 (Pos vuz84 == fromInt (Pos Zero)) (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="box"];2690 -> 2703[label="",style="solid", color="black", weight=3]; 1505[label="gcd2 (Neg vuz41 == fromInt (Pos Zero)) (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="box"];1505 -> 1517[label="",style="solid", color="black", weight=3]; 2728 -> 2703[label="",style="dashed", color="red", weight=0]; 2728[label="gcd2 (primEqInt (Pos (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2728 -> 2743[label="",style="dashed", color="magenta", weight=3]; 2729 -> 1517[label="",style="dashed", color="red", weight=0]; 2729[label="gcd2 (primEqInt (Neg (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2729 -> 2744[label="",style="dashed", color="magenta", weight=3]; 2730 -> 1517[label="",style="dashed", color="red", weight=0]; 2730[label="gcd2 (primEqInt (Neg (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2730 -> 2745[label="",style="dashed", color="magenta", weight=3]; 2731 -> 2703[label="",style="dashed", color="red", weight=0]; 2731[label="gcd2 (primEqInt (Pos (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2731 -> 2746[label="",style="dashed", color="magenta", weight=3]; 2691[label="gcd2 (Pos vuz85 == fromInt (Pos Zero)) (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="box"];2691 -> 2704[label="",style="solid", color="black", weight=3]; 1506[label="gcd2 (Neg vuz42 == fromInt (Pos Zero)) (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="box"];1506 -> 1518[label="",style="solid", color="black", weight=3]; 1542 -> 1559[label="",style="dashed", color="red", weight=0]; 1542[label="gcd2 (primEqInt (Pos (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1542 -> 1560[label="",style="dashed", color="magenta", weight=3]; 1542 -> 1561[label="",style="dashed", color="magenta", weight=3]; 1543 -> 1518[label="",style="dashed", color="red", weight=0]; 1543[label="gcd2 (primEqInt (Neg (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1543 -> 1564[label="",style="dashed", color="magenta", weight=3]; 1544 -> 1518[label="",style="dashed", color="red", weight=0]; 1544[label="gcd2 (primEqInt (Neg (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1544 -> 1565[label="",style="dashed", color="magenta", weight=3]; 1545 -> 1559[label="",style="dashed", color="red", weight=0]; 1545[label="gcd2 (primEqInt (Pos (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1545 -> 1562[label="",style="dashed", color="magenta", weight=3]; 1545 -> 1563[label="",style="dashed", color="magenta", weight=3]; 1546[label="primDivNatS0 (Succ vuz3900) (Succ vuz40000) (primGEqNatS (Succ vuz3900) (Succ vuz40000))",fontsize=16,color="black",shape="box"];1546 -> 1566[label="",style="solid", color="black", weight=3]; 1547[label="primDivNatS0 (Succ vuz3900) Zero (primGEqNatS (Succ vuz3900) Zero)",fontsize=16,color="black",shape="box"];1547 -> 1567[label="",style="solid", color="black", weight=3]; 1548[label="primDivNatS0 Zero (Succ vuz40000) (primGEqNatS Zero (Succ vuz40000))",fontsize=16,color="black",shape="box"];1548 -> 1568[label="",style="solid", color="black", weight=3]; 1549[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1549 -> 1569[label="",style="solid", color="black", weight=3]; 2703[label="gcd2 (primEqInt (Pos vuz84) (fromInt (Pos Zero))) (Pos vuz84) (Pos vuz16)",fontsize=16,color="burlywood",shape="triangle"];3226[label="vuz84/Succ vuz840",fontsize=10,color="white",style="solid",shape="box"];2703 -> 3226[label="",style="solid", color="burlywood", weight=9]; 3226 -> 2716[label="",style="solid", color="burlywood", weight=3]; 3227[label="vuz84/Zero",fontsize=10,color="white",style="solid",shape="box"];2703 -> 3227[label="",style="solid", color="burlywood", weight=9]; 3227 -> 2717[label="",style="solid", color="burlywood", weight=3]; 1517[label="gcd2 (primEqInt (Neg vuz41) (fromInt (Pos Zero))) (Neg vuz41) (Pos vuz16)",fontsize=16,color="burlywood",shape="triangle"];3228[label="vuz41/Succ vuz410",fontsize=10,color="white",style="solid",shape="box"];1517 -> 3228[label="",style="solid", color="burlywood", weight=9]; 3228 -> 1531[label="",style="solid", color="burlywood", weight=3]; 3229[label="vuz41/Zero",fontsize=10,color="white",style="solid",shape="box"];1517 -> 3229[label="",style="solid", color="burlywood", weight=9]; 3229 -> 1532[label="",style="solid", color="burlywood", weight=3]; 2743 -> 223[label="",style="dashed", color="red", weight=0]; 2743[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2743 -> 2759[label="",style="dashed", color="magenta", weight=3]; 2743 -> 2760[label="",style="dashed", color="magenta", weight=3]; 2744 -> 223[label="",style="dashed", color="red", weight=0]; 2744[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2744 -> 2761[label="",style="dashed", color="magenta", weight=3]; 2744 -> 2762[label="",style="dashed", color="magenta", weight=3]; 2745 -> 223[label="",style="dashed", color="red", weight=0]; 2745[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2745 -> 2763[label="",style="dashed", color="magenta", weight=3]; 2745 -> 2764[label="",style="dashed", color="magenta", weight=3]; 2746 -> 223[label="",style="dashed", color="red", weight=0]; 2746[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2746 -> 2765[label="",style="dashed", color="magenta", weight=3]; 2746 -> 2766[label="",style="dashed", color="magenta", weight=3]; 2704 -> 1559[label="",style="dashed", color="red", weight=0]; 2704[label="gcd2 (primEqInt (Pos vuz85) (fromInt (Pos Zero))) (Pos vuz85) (Neg vuz19)",fontsize=16,color="magenta"];2704 -> 2718[label="",style="dashed", color="magenta", weight=3]; 2704 -> 2719[label="",style="dashed", color="magenta", weight=3]; 1518[label="gcd2 (primEqInt (Neg vuz42) (fromInt (Pos Zero))) (Neg vuz42) (Neg vuz19)",fontsize=16,color="burlywood",shape="triangle"];3230[label="vuz42/Succ vuz420",fontsize=10,color="white",style="solid",shape="box"];1518 -> 3230[label="",style="solid", color="burlywood", weight=9]; 3230 -> 1533[label="",style="solid", color="burlywood", weight=3]; 3231[label="vuz42/Zero",fontsize=10,color="white",style="solid",shape="box"];1518 -> 3231[label="",style="solid", color="burlywood", weight=9]; 3231 -> 1534[label="",style="solid", color="burlywood", weight=3]; 1560 -> 223[label="",style="dashed", color="red", weight=0]; 1560[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1560 -> 1570[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1571[label="",style="dashed", color="magenta", weight=3]; 1561 -> 223[label="",style="dashed", color="red", weight=0]; 1561[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1561 -> 1572[label="",style="dashed", color="magenta", weight=3]; 1561 -> 1573[label="",style="dashed", color="magenta", weight=3]; 1559[label="gcd2 (primEqInt (Pos vuz44) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="burlywood",shape="triangle"];3232[label="vuz44/Succ vuz440",fontsize=10,color="white",style="solid",shape="box"];1559 -> 3232[label="",style="solid", color="burlywood", weight=9]; 3232 -> 1574[label="",style="solid", color="burlywood", weight=3]; 3233[label="vuz44/Zero",fontsize=10,color="white",style="solid",shape="box"];1559 -> 3233[label="",style="solid", color="burlywood", weight=9]; 3233 -> 1575[label="",style="solid", color="burlywood", weight=3]; 1564 -> 223[label="",style="dashed", color="red", weight=0]; 1564[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1564 -> 1588[label="",style="dashed", color="magenta", weight=3]; 1564 -> 1589[label="",style="dashed", color="magenta", weight=3]; 1565 -> 223[label="",style="dashed", color="red", weight=0]; 1565[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1565 -> 1590[label="",style="dashed", color="magenta", weight=3]; 1565 -> 1591[label="",style="dashed", color="magenta", weight=3]; 1562 -> 223[label="",style="dashed", color="red", weight=0]; 1562[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1562 -> 1576[label="",style="dashed", color="magenta", weight=3]; 1562 -> 1577[label="",style="dashed", color="magenta", weight=3]; 1563 -> 223[label="",style="dashed", color="red", weight=0]; 1563[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1563 -> 1578[label="",style="dashed", color="magenta", weight=3]; 1563 -> 1579[label="",style="dashed", color="magenta", weight=3]; 1566 -> 2163[label="",style="dashed", color="red", weight=0]; 1566[label="primDivNatS0 (Succ vuz3900) (Succ vuz40000) (primGEqNatS vuz3900 vuz40000)",fontsize=16,color="magenta"];1566 -> 2164[label="",style="dashed", color="magenta", weight=3]; 1566 -> 2165[label="",style="dashed", color="magenta", weight=3]; 1566 -> 2166[label="",style="dashed", color="magenta", weight=3]; 1566 -> 2167[label="",style="dashed", color="magenta", weight=3]; 1567[label="primDivNatS0 (Succ vuz3900) Zero True",fontsize=16,color="black",shape="box"];1567 -> 1594[label="",style="solid", color="black", weight=3]; 1568[label="primDivNatS0 Zero (Succ vuz40000) False",fontsize=16,color="black",shape="box"];1568 -> 1595[label="",style="solid", color="black", weight=3]; 1569[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];1569 -> 1596[label="",style="solid", color="black", weight=3]; 2716[label="gcd2 (primEqInt (Pos (Succ vuz840)) (fromInt (Pos Zero))) (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2716 -> 2732[label="",style="solid", color="black", weight=3]; 2717[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2717 -> 2733[label="",style="solid", color="black", weight=3]; 1531[label="gcd2 (primEqInt (Neg (Succ vuz410)) (fromInt (Pos Zero))) (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1531 -> 1550[label="",style="solid", color="black", weight=3]; 1532[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1532 -> 1551[label="",style="solid", color="black", weight=3]; 2759[label="vuz400",fontsize=16,color="green",shape="box"];2760[label="vuz300",fontsize=16,color="green",shape="box"];2761[label="vuz400",fontsize=16,color="green",shape="box"];2762[label="vuz300",fontsize=16,color="green",shape="box"];2763[label="vuz400",fontsize=16,color="green",shape="box"];2764[label="vuz300",fontsize=16,color="green",shape="box"];2765[label="vuz400",fontsize=16,color="green",shape="box"];2766[label="vuz300",fontsize=16,color="green",shape="box"];2718[label="vuz85",fontsize=16,color="green",shape="box"];2719[label="vuz85",fontsize=16,color="green",shape="box"];1533[label="gcd2 (primEqInt (Neg (Succ vuz420)) (fromInt (Pos Zero))) (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1533 -> 1552[label="",style="solid", color="black", weight=3]; 1534[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1534 -> 1553[label="",style="solid", color="black", weight=3]; 1570[label="vuz400",fontsize=16,color="green",shape="box"];1571[label="vuz300",fontsize=16,color="green",shape="box"];1572[label="vuz400",fontsize=16,color="green",shape="box"];1573[label="vuz300",fontsize=16,color="green",shape="box"];1574[label="gcd2 (primEqInt (Pos (Succ vuz440)) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1574 -> 1597[label="",style="solid", color="black", weight=3]; 1575[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1575 -> 1598[label="",style="solid", color="black", weight=3]; 1588[label="vuz400",fontsize=16,color="green",shape="box"];1589[label="vuz300",fontsize=16,color="green",shape="box"];1590[label="vuz400",fontsize=16,color="green",shape="box"];1591[label="vuz300",fontsize=16,color="green",shape="box"];1576[label="vuz400",fontsize=16,color="green",shape="box"];1577[label="vuz300",fontsize=16,color="green",shape="box"];1578[label="vuz400",fontsize=16,color="green",shape="box"];1579[label="vuz300",fontsize=16,color="green",shape="box"];2164[label="vuz40000",fontsize=16,color="green",shape="box"];2165[label="vuz40000",fontsize=16,color="green",shape="box"];2166[label="vuz3900",fontsize=16,color="green",shape="box"];2167[label="vuz3900",fontsize=16,color="green",shape="box"];2163[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS vuz81 vuz82)",fontsize=16,color="burlywood",shape="triangle"];3234[label="vuz81/Succ vuz810",fontsize=10,color="white",style="solid",shape="box"];2163 -> 3234[label="",style="solid", color="burlywood", weight=9]; 3234 -> 2204[label="",style="solid", color="burlywood", weight=3]; 3235[label="vuz81/Zero",fontsize=10,color="white",style="solid",shape="box"];2163 -> 3235[label="",style="solid", color="burlywood", weight=9]; 3235 -> 2205[label="",style="solid", color="burlywood", weight=3]; 1594[label="Succ (primDivNatS (primMinusNatS (Succ vuz3900) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];1594 -> 1611[label="",style="dashed", color="green", weight=3]; 1595[label="Zero",fontsize=16,color="green",shape="box"];1596[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];1596 -> 1612[label="",style="dashed", color="green", weight=3]; 2732[label="gcd2 (primEqInt (Pos (Succ vuz840)) (Pos Zero)) (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2732 -> 2747[label="",style="solid", color="black", weight=3]; 2733[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2733 -> 2748[label="",style="solid", color="black", weight=3]; 1550[label="gcd2 (primEqInt (Neg (Succ vuz410)) (Pos Zero)) (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1550 -> 1580[label="",style="solid", color="black", weight=3]; 1551[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1551 -> 1581[label="",style="solid", color="black", weight=3]; 1552[label="gcd2 (primEqInt (Neg (Succ vuz420)) (Pos Zero)) (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1552 -> 1582[label="",style="solid", color="black", weight=3]; 1553[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1553 -> 1583[label="",style="solid", color="black", weight=3]; 1597[label="gcd2 (primEqInt (Pos (Succ vuz440)) (Pos Zero)) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1597 -> 1613[label="",style="solid", color="black", weight=3]; 1598[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1598 -> 1614[label="",style="solid", color="black", weight=3]; 2204[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS (Succ vuz810) vuz82)",fontsize=16,color="burlywood",shape="box"];3236[label="vuz82/Succ vuz820",fontsize=10,color="white",style="solid",shape="box"];2204 -> 3236[label="",style="solid", color="burlywood", weight=9]; 3236 -> 2659[label="",style="solid", color="burlywood", weight=3]; 3237[label="vuz82/Zero",fontsize=10,color="white",style="solid",shape="box"];2204 -> 3237[label="",style="solid", color="burlywood", weight=9]; 3237 -> 2660[label="",style="solid", color="burlywood", weight=3]; 2205[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS Zero vuz82)",fontsize=16,color="burlywood",shape="box"];3238[label="vuz82/Succ vuz820",fontsize=10,color="white",style="solid",shape="box"];2205 -> 3238[label="",style="solid", color="burlywood", weight=9]; 3238 -> 2661[label="",style="solid", color="burlywood", weight=3]; 3239[label="vuz82/Zero",fontsize=10,color="white",style="solid",shape="box"];2205 -> 3239[label="",style="solid", color="burlywood", weight=9]; 3239 -> 2662[label="",style="solid", color="burlywood", weight=3]; 1611 -> 1488[label="",style="dashed", color="red", weight=0]; 1611[label="primDivNatS (primMinusNatS (Succ vuz3900) Zero) (Succ Zero)",fontsize=16,color="magenta"];1611 -> 1627[label="",style="dashed", color="magenta", weight=3]; 1611 -> 1628[label="",style="dashed", color="magenta", weight=3]; 1612 -> 1488[label="",style="dashed", color="red", weight=0]; 1612[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];1612 -> 1629[label="",style="dashed", color="magenta", weight=3]; 1612 -> 1630[label="",style="dashed", color="magenta", weight=3]; 2747[label="gcd2 False (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2747 -> 2767[label="",style="solid", color="black", weight=3]; 2748[label="gcd2 True (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2748 -> 2768[label="",style="solid", color="black", weight=3]; 1580[label="gcd2 False (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1580 -> 1599[label="",style="solid", color="black", weight=3]; 1581[label="gcd2 True (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1581 -> 1600[label="",style="solid", color="black", weight=3]; 1582[label="gcd2 False (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1582 -> 1601[label="",style="solid", color="black", weight=3]; 1583[label="gcd2 True (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1583 -> 1602[label="",style="solid", color="black", weight=3]; 1613[label="gcd2 False (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1613 -> 1631[label="",style="solid", color="black", weight=3]; 1614[label="gcd2 True (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1614 -> 1632[label="",style="solid", color="black", weight=3]; 2659[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS (Succ vuz810) (Succ vuz820))",fontsize=16,color="black",shape="box"];2659 -> 2674[label="",style="solid", color="black", weight=3]; 2660[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS (Succ vuz810) Zero)",fontsize=16,color="black",shape="box"];2660 -> 2675[label="",style="solid", color="black", weight=3]; 2661[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS Zero (Succ vuz820))",fontsize=16,color="black",shape="box"];2661 -> 2676[label="",style="solid", color="black", weight=3]; 2662[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2662 -> 2677[label="",style="solid", color="black", weight=3]; 1627[label="primMinusNatS (Succ vuz3900) Zero",fontsize=16,color="black",shape="triangle"];1627 -> 1648[label="",style="solid", color="black", weight=3]; 1628[label="Zero",fontsize=16,color="green",shape="box"];1629[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];1629 -> 1649[label="",style="solid", color="black", weight=3]; 1630[label="Zero",fontsize=16,color="green",shape="box"];2767[label="gcd0 (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2767 -> 2783[label="",style="solid", color="black", weight=3]; 2768[label="gcd1 (Pos vuz16 == fromInt (Pos Zero)) (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2768 -> 2784[label="",style="solid", color="black", weight=3]; 1599[label="gcd0 (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1599 -> 1615[label="",style="solid", color="black", weight=3]; 1600[label="gcd1 (Pos vuz16 == fromInt (Pos Zero)) (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1600 -> 1616[label="",style="solid", color="black", weight=3]; 1601[label="gcd0 (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1601 -> 1617[label="",style="solid", color="black", weight=3]; 1602[label="gcd1 (Neg vuz19 == fromInt (Pos Zero)) (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1602 -> 1618[label="",style="solid", color="black", weight=3]; 1631[label="gcd0 (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];1631 -> 1650[label="",style="solid", color="black", weight=3]; 1632[label="gcd1 (Neg vuz19 == fromInt (Pos Zero)) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1632 -> 1651[label="",style="solid", color="black", weight=3]; 2674 -> 2163[label="",style="dashed", color="red", weight=0]; 2674[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS vuz810 vuz820)",fontsize=16,color="magenta"];2674 -> 2692[label="",style="dashed", color="magenta", weight=3]; 2674 -> 2693[label="",style="dashed", color="magenta", weight=3]; 2675[label="primDivNatS0 (Succ vuz79) (Succ vuz80) True",fontsize=16,color="black",shape="triangle"];2675 -> 2694[label="",style="solid", color="black", weight=3]; 2676[label="primDivNatS0 (Succ vuz79) (Succ vuz80) False",fontsize=16,color="black",shape="box"];2676 -> 2695[label="",style="solid", color="black", weight=3]; 2677 -> 2675[label="",style="dashed", color="red", weight=0]; 2677[label="primDivNatS0 (Succ vuz79) (Succ vuz80) True",fontsize=16,color="magenta"];1648[label="Succ vuz3900",fontsize=16,color="green",shape="box"];1649[label="Zero",fontsize=16,color="green",shape="box"];2783 -> 2802[label="",style="dashed", color="red", weight=0]; 2783[label="gcd0Gcd' (abs (Pos (Succ vuz840))) (abs (Pos vuz16))",fontsize=16,color="magenta"];2783 -> 2803[label="",style="dashed", color="magenta", weight=3]; 2783 -> 2804[label="",style="dashed", color="magenta", weight=3]; 2784[label="gcd1 (primEqInt (Pos vuz16) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3240[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];2784 -> 3240[label="",style="solid", color="burlywood", weight=9]; 3240 -> 2817[label="",style="solid", color="burlywood", weight=3]; 3241[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];2784 -> 3241[label="",style="solid", color="burlywood", weight=9]; 3241 -> 2818[label="",style="solid", color="burlywood", weight=3]; 1615 -> 2802[label="",style="dashed", color="red", weight=0]; 1615[label="gcd0Gcd' (abs (Neg (Succ vuz410))) (abs (Pos vuz16))",fontsize=16,color="magenta"];1615 -> 2805[label="",style="dashed", color="magenta", weight=3]; 1615 -> 2806[label="",style="dashed", color="magenta", weight=3]; 1616[label="gcd1 (primEqInt (Pos vuz16) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3242[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];1616 -> 3242[label="",style="solid", color="burlywood", weight=9]; 3242 -> 1634[label="",style="solid", color="burlywood", weight=3]; 3243[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];1616 -> 3243[label="",style="solid", color="burlywood", weight=9]; 3243 -> 1635[label="",style="solid", color="burlywood", weight=3]; 1617 -> 2802[label="",style="dashed", color="red", weight=0]; 1617[label="gcd0Gcd' (abs (Neg (Succ vuz420))) (abs (Neg vuz19))",fontsize=16,color="magenta"];1617 -> 2807[label="",style="dashed", color="magenta", weight=3]; 1617 -> 2808[label="",style="dashed", color="magenta", weight=3]; 1618[label="gcd1 (primEqInt (Neg vuz19) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3244[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];1618 -> 3244[label="",style="solid", color="burlywood", weight=9]; 3244 -> 1637[label="",style="solid", color="burlywood", weight=3]; 3245[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];1618 -> 3245[label="",style="solid", color="burlywood", weight=9]; 3245 -> 1638[label="",style="solid", color="burlywood", weight=3]; 1650 -> 2802[label="",style="dashed", color="red", weight=0]; 1650[label="gcd0Gcd' (abs (Pos vuz43)) (abs (Neg vuz19))",fontsize=16,color="magenta"];1650 -> 2809[label="",style="dashed", color="magenta", weight=3]; 1650 -> 2810[label="",style="dashed", color="magenta", weight=3]; 1651[label="gcd1 (primEqInt (Neg vuz19) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3246[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];1651 -> 3246[label="",style="solid", color="burlywood", weight=9]; 3246 -> 1670[label="",style="solid", color="burlywood", weight=3]; 3247[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];1651 -> 3247[label="",style="solid", color="burlywood", weight=9]; 3247 -> 1671[label="",style="solid", color="burlywood", weight=3]; 2692[label="vuz820",fontsize=16,color="green",shape="box"];2693[label="vuz810",fontsize=16,color="green",shape="box"];2694[label="Succ (primDivNatS (primMinusNatS (Succ vuz79) (Succ vuz80)) (Succ (Succ vuz80)))",fontsize=16,color="green",shape="box"];2694 -> 2705[label="",style="dashed", color="green", weight=3]; 2695[label="Zero",fontsize=16,color="green",shape="box"];2803[label="abs (Pos vuz16)",fontsize=16,color="black",shape="triangle"];2803 -> 2819[label="",style="solid", color="black", weight=3]; 2804 -> 2803[label="",style="dashed", color="red", weight=0]; 2804[label="abs (Pos (Succ vuz840))",fontsize=16,color="magenta"];2804 -> 2820[label="",style="dashed", color="magenta", weight=3]; 2802[label="gcd0Gcd' vuz87 vuz86",fontsize=16,color="black",shape="triangle"];2802 -> 2821[label="",style="solid", color="black", weight=3]; 2817[label="gcd1 (primEqInt (Pos (Succ vuz160)) (fromInt (Pos Zero))) (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2817 -> 2832[label="",style="solid", color="black", weight=3]; 2818[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2818 -> 2833[label="",style="solid", color="black", weight=3]; 2805 -> 2803[label="",style="dashed", color="red", weight=0]; 2805[label="abs (Pos vuz16)",fontsize=16,color="magenta"];2806[label="abs (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2806 -> 2822[label="",style="solid", color="black", weight=3]; 1634[label="gcd1 (primEqInt (Pos (Succ vuz160)) (fromInt (Pos Zero))) (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1634 -> 1653[label="",style="solid", color="black", weight=3]; 1635[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1635 -> 1654[label="",style="solid", color="black", weight=3]; 2807[label="abs (Neg vuz19)",fontsize=16,color="black",shape="triangle"];2807 -> 2823[label="",style="solid", color="black", weight=3]; 2808 -> 2807[label="",style="dashed", color="red", weight=0]; 2808[label="abs (Neg (Succ vuz420))",fontsize=16,color="magenta"];2808 -> 2824[label="",style="dashed", color="magenta", weight=3]; 1637[label="gcd1 (primEqInt (Neg (Succ vuz190)) (fromInt (Pos Zero))) (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1637 -> 1656[label="",style="solid", color="black", weight=3]; 1638[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];1638 -> 1657[label="",style="solid", color="black", weight=3]; 2809 -> 2807[label="",style="dashed", color="red", weight=0]; 2809[label="abs (Neg vuz19)",fontsize=16,color="magenta"];2810 -> 2803[label="",style="dashed", color="red", weight=0]; 2810[label="abs (Pos vuz43)",fontsize=16,color="magenta"];2810 -> 2825[label="",style="dashed", color="magenta", weight=3]; 1670[label="gcd1 (primEqInt (Neg (Succ vuz190)) (fromInt (Pos Zero))) (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1670 -> 1694[label="",style="solid", color="black", weight=3]; 1671[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Pos vuz43) (Neg Zero)",fontsize=16,color="black",shape="box"];1671 -> 1695[label="",style="solid", color="black", weight=3]; 2705 -> 1488[label="",style="dashed", color="red", weight=0]; 2705[label="primDivNatS (primMinusNatS (Succ vuz79) (Succ vuz80)) (Succ (Succ vuz80))",fontsize=16,color="magenta"];2705 -> 2720[label="",style="dashed", color="magenta", weight=3]; 2705 -> 2721[label="",style="dashed", color="magenta", weight=3]; 2819[label="absReal (Pos vuz16)",fontsize=16,color="black",shape="box"];2819 -> 2834[label="",style="solid", color="black", weight=3]; 2820[label="Succ vuz840",fontsize=16,color="green",shape="box"];2821[label="gcd0Gcd'2 vuz87 vuz86",fontsize=16,color="black",shape="box"];2821 -> 2835[label="",style="solid", color="black", weight=3]; 2832[label="gcd1 (primEqInt (Pos (Succ vuz160)) (Pos Zero)) (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2832 -> 2838[label="",style="solid", color="black", weight=3]; 2833[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2833 -> 2839[label="",style="solid", color="black", weight=3]; 2822[label="absReal (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2822 -> 2836[label="",style="solid", color="black", weight=3]; 1653[label="gcd1 (primEqInt (Pos (Succ vuz160)) (Pos Zero)) (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1653 -> 1673[label="",style="solid", color="black", weight=3]; 1654[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1654 -> 1674[label="",style="solid", color="black", weight=3]; 2823[label="absReal (Neg vuz19)",fontsize=16,color="black",shape="box"];2823 -> 2837[label="",style="solid", color="black", weight=3]; 2824[label="Succ vuz420",fontsize=16,color="green",shape="box"];1656[label="gcd1 (primEqInt (Neg (Succ vuz190)) (Pos Zero)) (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1656 -> 1676[label="",style="solid", color="black", weight=3]; 1657[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];1657 -> 1677[label="",style="solid", color="black", weight=3]; 2825[label="vuz43",fontsize=16,color="green",shape="box"];1694[label="gcd1 (primEqInt (Neg (Succ vuz190)) (Pos Zero)) (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1694 -> 1716[label="",style="solid", color="black", weight=3]; 1695[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Pos vuz43) (Neg Zero)",fontsize=16,color="black",shape="box"];1695 -> 1717[label="",style="solid", color="black", weight=3]; 2720[label="primMinusNatS (Succ vuz79) (Succ vuz80)",fontsize=16,color="black",shape="box"];2720 -> 2734[label="",style="solid", color="black", weight=3]; 2721[label="Succ vuz80",fontsize=16,color="green",shape="box"];2834[label="absReal2 (Pos vuz16)",fontsize=16,color="black",shape="box"];2834 -> 2840[label="",style="solid", color="black", weight=3]; 2835[label="gcd0Gcd'1 (vuz86 == fromInt (Pos Zero)) vuz87 vuz86",fontsize=16,color="black",shape="box"];2835 -> 2841[label="",style="solid", color="black", weight=3]; 2838[label="gcd1 False (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2838 -> 2844[label="",style="solid", color="black", weight=3]; 2839[label="gcd1 True (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2839 -> 2845[label="",style="solid", color="black", weight=3]; 2836[label="absReal2 (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2836 -> 2842[label="",style="solid", color="black", weight=3]; 1673[label="gcd1 False (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1673 -> 1697[label="",style="solid", color="black", weight=3]; 1674[label="gcd1 True (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1674 -> 1698[label="",style="solid", color="black", weight=3]; 2837[label="absReal2 (Neg vuz19)",fontsize=16,color="black",shape="box"];2837 -> 2843[label="",style="solid", color="black", weight=3]; 1676[label="gcd1 False (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1676 -> 1700[label="",style="solid", color="black", weight=3]; 1677[label="gcd1 True (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];1677 -> 1701[label="",style="solid", color="black", weight=3]; 1716[label="gcd1 False (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1716 -> 1735[label="",style="solid", color="black", weight=3]; 1717[label="gcd1 True (Pos vuz43) (Neg Zero)",fontsize=16,color="black",shape="box"];1717 -> 1736[label="",style="solid", color="black", weight=3]; 2734[label="primMinusNatS vuz79 vuz80",fontsize=16,color="burlywood",shape="triangle"];3248[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];2734 -> 3248[label="",style="solid", color="burlywood", weight=9]; 3248 -> 2749[label="",style="solid", color="burlywood", weight=3]; 3249[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];2734 -> 3249[label="",style="solid", color="burlywood", weight=9]; 3249 -> 2750[label="",style="solid", color="burlywood", weight=3]; 2840[label="absReal1 (Pos vuz16) (Pos vuz16 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2840 -> 2846[label="",style="solid", color="black", weight=3]; 2841[label="gcd0Gcd'1 (primEqInt vuz86 (fromInt (Pos Zero))) vuz87 vuz86",fontsize=16,color="burlywood",shape="box"];3250[label="vuz86/Pos vuz860",fontsize=10,color="white",style="solid",shape="box"];2841 -> 3250[label="",style="solid", color="burlywood", weight=9]; 3250 -> 2847[label="",style="solid", color="burlywood", weight=3]; 3251[label="vuz86/Neg vuz860",fontsize=10,color="white",style="solid",shape="box"];2841 -> 3251[label="",style="solid", color="burlywood", weight=9]; 3251 -> 2848[label="",style="solid", color="burlywood", weight=3]; 2844[label="gcd0 (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2844 -> 2851[label="",style="solid", color="black", weight=3]; 2845 -> 1466[label="",style="dashed", color="red", weight=0]; 2845[label="error []",fontsize=16,color="magenta"];2842[label="absReal1 (Neg (Succ vuz410)) (Neg (Succ vuz410) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2842 -> 2849[label="",style="solid", color="black", weight=3]; 1697[label="gcd0 (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1697 -> 1719[label="",style="solid", color="black", weight=3]; 1698 -> 1466[label="",style="dashed", color="red", weight=0]; 1698[label="error []",fontsize=16,color="magenta"];2843[label="absReal1 (Neg vuz19) (Neg vuz19 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2843 -> 2850[label="",style="solid", color="black", weight=3]; 1700[label="gcd0 (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1700 -> 1721[label="",style="solid", color="black", weight=3]; 1701 -> 1466[label="",style="dashed", color="red", weight=0]; 1701[label="error []",fontsize=16,color="magenta"];1735 -> 1631[label="",style="dashed", color="red", weight=0]; 1735[label="gcd0 (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="magenta"];1735 -> 1759[label="",style="dashed", color="magenta", weight=3]; 1736 -> 1466[label="",style="dashed", color="red", weight=0]; 1736[label="error []",fontsize=16,color="magenta"];2749[label="primMinusNatS (Succ vuz790) vuz80",fontsize=16,color="burlywood",shape="box"];3252[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];2749 -> 3252[label="",style="solid", color="burlywood", weight=9]; 3252 -> 2769[label="",style="solid", color="burlywood", weight=3]; 3253[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];2749 -> 3253[label="",style="solid", color="burlywood", weight=9]; 3253 -> 2770[label="",style="solid", color="burlywood", weight=3]; 2750[label="primMinusNatS Zero vuz80",fontsize=16,color="burlywood",shape="box"];3254[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];2750 -> 3254[label="",style="solid", color="burlywood", weight=9]; 3254 -> 2771[label="",style="solid", color="burlywood", weight=3]; 3255[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];2750 -> 3255[label="",style="solid", color="burlywood", weight=9]; 3255 -> 2772[label="",style="solid", color="burlywood", weight=3]; 2846[label="absReal1 (Pos vuz16) (compare (Pos vuz16) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2846 -> 2852[label="",style="solid", color="black", weight=3]; 2847[label="gcd0Gcd'1 (primEqInt (Pos vuz860) (fromInt (Pos Zero))) vuz87 (Pos vuz860)",fontsize=16,color="burlywood",shape="box"];3256[label="vuz860/Succ vuz8600",fontsize=10,color="white",style="solid",shape="box"];2847 -> 3256[label="",style="solid", color="burlywood", weight=9]; 3256 -> 2853[label="",style="solid", color="burlywood", weight=3]; 3257[label="vuz860/Zero",fontsize=10,color="white",style="solid",shape="box"];2847 -> 3257[label="",style="solid", color="burlywood", weight=9]; 3257 -> 2854[label="",style="solid", color="burlywood", weight=3]; 2848[label="gcd0Gcd'1 (primEqInt (Neg vuz860) (fromInt (Pos Zero))) vuz87 (Neg vuz860)",fontsize=16,color="burlywood",shape="box"];3258[label="vuz860/Succ vuz8600",fontsize=10,color="white",style="solid",shape="box"];2848 -> 3258[label="",style="solid", color="burlywood", weight=9]; 3258 -> 2855[label="",style="solid", color="burlywood", weight=3]; 3259[label="vuz860/Zero",fontsize=10,color="white",style="solid",shape="box"];2848 -> 3259[label="",style="solid", color="burlywood", weight=9]; 3259 -> 2856[label="",style="solid", color="burlywood", weight=3]; 2851 -> 2802[label="",style="dashed", color="red", weight=0]; 2851[label="gcd0Gcd' (abs (Pos Zero)) (abs (Pos (Succ vuz160)))",fontsize=16,color="magenta"];2851 -> 2859[label="",style="dashed", color="magenta", weight=3]; 2851 -> 2860[label="",style="dashed", color="magenta", weight=3]; 2849[label="absReal1 (Neg (Succ vuz410)) (compare (Neg (Succ vuz410)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2849 -> 2857[label="",style="solid", color="black", weight=3]; 1719 -> 2802[label="",style="dashed", color="red", weight=0]; 1719[label="gcd0Gcd' (abs (Neg Zero)) (abs (Pos (Succ vuz160)))",fontsize=16,color="magenta"];1719 -> 2811[label="",style="dashed", color="magenta", weight=3]; 1719 -> 2812[label="",style="dashed", color="magenta", weight=3]; 2850[label="absReal1 (Neg vuz19) (compare (Neg vuz19) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2850 -> 2858[label="",style="solid", color="black", weight=3]; 1721 -> 2802[label="",style="dashed", color="red", weight=0]; 1721[label="gcd0Gcd' (abs (Neg Zero)) (abs (Neg (Succ vuz190)))",fontsize=16,color="magenta"];1721 -> 2813[label="",style="dashed", color="magenta", weight=3]; 1721 -> 2814[label="",style="dashed", color="magenta", weight=3]; 1759[label="Succ vuz190",fontsize=16,color="green",shape="box"];2769[label="primMinusNatS (Succ vuz790) (Succ vuz800)",fontsize=16,color="black",shape="box"];2769 -> 2785[label="",style="solid", color="black", weight=3]; 2770[label="primMinusNatS (Succ vuz790) Zero",fontsize=16,color="black",shape="box"];2770 -> 2786[label="",style="solid", color="black", weight=3]; 2771[label="primMinusNatS Zero (Succ vuz800)",fontsize=16,color="black",shape="box"];2771 -> 2787[label="",style="solid", color="black", weight=3]; 2772[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];2772 -> 2788[label="",style="solid", color="black", weight=3]; 2852[label="absReal1 (Pos vuz16) (not (compare (Pos vuz16) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2852 -> 2861[label="",style="solid", color="black", weight=3]; 2853[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz8600)) (fromInt (Pos Zero))) vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2853 -> 2862[label="",style="solid", color="black", weight=3]; 2854[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2854 -> 2863[label="",style="solid", color="black", weight=3]; 2855[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz8600)) (fromInt (Pos Zero))) vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2855 -> 2864[label="",style="solid", color="black", weight=3]; 2856[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2856 -> 2865[label="",style="solid", color="black", weight=3]; 2859 -> 2803[label="",style="dashed", color="red", weight=0]; 2859[label="abs (Pos (Succ vuz160))",fontsize=16,color="magenta"];2859 -> 2868[label="",style="dashed", color="magenta", weight=3]; 2860 -> 2803[label="",style="dashed", color="red", weight=0]; 2860[label="abs (Pos Zero)",fontsize=16,color="magenta"];2860 -> 2869[label="",style="dashed", color="magenta", weight=3]; 2857[label="absReal1 (Neg (Succ vuz410)) (not (compare (Neg (Succ vuz410)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2857 -> 2866[label="",style="solid", color="black", weight=3]; 2811 -> 2803[label="",style="dashed", color="red", weight=0]; 2811[label="abs (Pos (Succ vuz160))",fontsize=16,color="magenta"];2811 -> 2826[label="",style="dashed", color="magenta", weight=3]; 2812 -> 2807[label="",style="dashed", color="red", weight=0]; 2812[label="abs (Neg Zero)",fontsize=16,color="magenta"];2812 -> 2827[label="",style="dashed", color="magenta", weight=3]; 2858[label="absReal1 (Neg vuz19) (not (compare (Neg vuz19) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2858 -> 2867[label="",style="solid", color="black", weight=3]; 2813 -> 2807[label="",style="dashed", color="red", weight=0]; 2813[label="abs (Neg (Succ vuz190))",fontsize=16,color="magenta"];2813 -> 2828[label="",style="dashed", color="magenta", weight=3]; 2814 -> 2807[label="",style="dashed", color="red", weight=0]; 2814[label="abs (Neg Zero)",fontsize=16,color="magenta"];2814 -> 2829[label="",style="dashed", color="magenta", weight=3]; 2785 -> 2734[label="",style="dashed", color="red", weight=0]; 2785[label="primMinusNatS vuz790 vuz800",fontsize=16,color="magenta"];2785 -> 2830[label="",style="dashed", color="magenta", weight=3]; 2785 -> 2831[label="",style="dashed", color="magenta", weight=3]; 2786[label="Succ vuz790",fontsize=16,color="green",shape="box"];2787[label="Zero",fontsize=16,color="green",shape="box"];2788[label="Zero",fontsize=16,color="green",shape="box"];2861[label="absReal1 (Pos vuz16) (not (primCmpInt (Pos vuz16) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];3260[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];2861 -> 3260[label="",style="solid", color="burlywood", weight=9]; 3260 -> 2870[label="",style="solid", color="burlywood", weight=3]; 3261[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];2861 -> 3261[label="",style="solid", color="burlywood", weight=9]; 3261 -> 2871[label="",style="solid", color="burlywood", weight=3]; 2862[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz8600)) (Pos Zero)) vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2862 -> 2872[label="",style="solid", color="black", weight=3]; 2863[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2863 -> 2873[label="",style="solid", color="black", weight=3]; 2864[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz8600)) (Pos Zero)) vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2864 -> 2874[label="",style="solid", color="black", weight=3]; 2865[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2865 -> 2875[label="",style="solid", color="black", weight=3]; 2868[label="Succ vuz160",fontsize=16,color="green",shape="box"];2869[label="Zero",fontsize=16,color="green",shape="box"];2866[label="absReal1 (Neg (Succ vuz410)) (not (primCmpInt (Neg (Succ vuz410)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2866 -> 2876[label="",style="solid", color="black", weight=3]; 2826[label="Succ vuz160",fontsize=16,color="green",shape="box"];2827[label="Zero",fontsize=16,color="green",shape="box"];2867[label="absReal1 (Neg vuz19) (not (primCmpInt (Neg vuz19) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];3262[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];2867 -> 3262[label="",style="solid", color="burlywood", weight=9]; 3262 -> 2877[label="",style="solid", color="burlywood", weight=3]; 3263[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];2867 -> 3263[label="",style="solid", color="burlywood", weight=9]; 3263 -> 2878[label="",style="solid", color="burlywood", weight=3]; 2828[label="Succ vuz190",fontsize=16,color="green",shape="box"];2829[label="Zero",fontsize=16,color="green",shape="box"];2830[label="vuz800",fontsize=16,color="green",shape="box"];2831[label="vuz790",fontsize=16,color="green",shape="box"];2870[label="absReal1 (Pos (Succ vuz160)) (not (primCmpInt (Pos (Succ vuz160)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2870 -> 2879[label="",style="solid", color="black", weight=3]; 2871[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2871 -> 2880[label="",style="solid", color="black", weight=3]; 2872[label="gcd0Gcd'1 False vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2872 -> 2881[label="",style="solid", color="black", weight=3]; 2873[label="gcd0Gcd'1 True vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2873 -> 2882[label="",style="solid", color="black", weight=3]; 2874[label="gcd0Gcd'1 False vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2874 -> 2883[label="",style="solid", color="black", weight=3]; 2875[label="gcd0Gcd'1 True vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2875 -> 2884[label="",style="solid", color="black", weight=3]; 2876[label="absReal1 (Neg (Succ vuz410)) (not (primCmpInt (Neg (Succ vuz410)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];2876 -> 2885[label="",style="solid", color="black", weight=3]; 2877[label="absReal1 (Neg (Succ vuz190)) (not (primCmpInt (Neg (Succ vuz190)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2877 -> 2886[label="",style="solid", color="black", weight=3]; 2878[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2878 -> 2887[label="",style="solid", color="black", weight=3]; 2879[label="absReal1 (Pos (Succ vuz160)) (not (primCmpInt (Pos (Succ vuz160)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2879 -> 2888[label="",style="solid", color="black", weight=3]; 2880[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2880 -> 2889[label="",style="solid", color="black", weight=3]; 2881[label="gcd0Gcd'0 vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2881 -> 2890[label="",style="solid", color="black", weight=3]; 2882[label="vuz87",fontsize=16,color="green",shape="box"];2883[label="gcd0Gcd'0 vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2883 -> 2891[label="",style="solid", color="black", weight=3]; 2884[label="vuz87",fontsize=16,color="green",shape="box"];2885[label="absReal1 (Neg (Succ vuz410)) (not (LT == LT))",fontsize=16,color="black",shape="box"];2885 -> 2892[label="",style="solid", color="black", weight=3]; 2886 -> 2876[label="",style="dashed", color="red", weight=0]; 2886[label="absReal1 (Neg (Succ vuz190)) (not (primCmpInt (Neg (Succ vuz190)) (Pos Zero) == LT))",fontsize=16,color="magenta"];2886 -> 2893[label="",style="dashed", color="magenta", weight=3]; 2887[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2887 -> 2894[label="",style="solid", color="black", weight=3]; 2888[label="absReal1 (Pos (Succ vuz160)) (not (primCmpNat (Succ vuz160) Zero == LT))",fontsize=16,color="black",shape="box"];2888 -> 2895[label="",style="solid", color="black", weight=3]; 2889[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];2889 -> 2896[label="",style="solid", color="black", weight=3]; 2890 -> 2802[label="",style="dashed", color="red", weight=0]; 2890[label="gcd0Gcd' (Pos (Succ vuz8600)) (vuz87 `rem` Pos (Succ vuz8600))",fontsize=16,color="magenta"];2890 -> 2897[label="",style="dashed", color="magenta", weight=3]; 2890 -> 2898[label="",style="dashed", color="magenta", weight=3]; 2891 -> 2802[label="",style="dashed", color="red", weight=0]; 2891[label="gcd0Gcd' (Neg (Succ vuz8600)) (vuz87 `rem` Neg (Succ vuz8600))",fontsize=16,color="magenta"];2891 -> 2899[label="",style="dashed", color="magenta", weight=3]; 2891 -> 2900[label="",style="dashed", color="magenta", weight=3]; 2892[label="absReal1 (Neg (Succ vuz410)) (not True)",fontsize=16,color="black",shape="box"];2892 -> 2901[label="",style="solid", color="black", weight=3]; 2893[label="vuz190",fontsize=16,color="green",shape="box"];2894[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];2894 -> 2902[label="",style="solid", color="black", weight=3]; 2895[label="absReal1 (Pos (Succ vuz160)) (not (GT == LT))",fontsize=16,color="black",shape="box"];2895 -> 2903[label="",style="solid", color="black", weight=3]; 2896[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];2896 -> 2904[label="",style="solid", color="black", weight=3]; 2897[label="vuz87 `rem` Pos (Succ vuz8600)",fontsize=16,color="black",shape="box"];2897 -> 2905[label="",style="solid", color="black", weight=3]; 2898[label="Pos (Succ vuz8600)",fontsize=16,color="green",shape="box"];2899[label="vuz87 `rem` Neg (Succ vuz8600)",fontsize=16,color="black",shape="box"];2899 -> 2906[label="",style="solid", color="black", weight=3]; 2900[label="Neg (Succ vuz8600)",fontsize=16,color="green",shape="box"];2901[label="absReal1 (Neg (Succ vuz410)) False",fontsize=16,color="black",shape="box"];2901 -> 2907[label="",style="solid", color="black", weight=3]; 2902[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];2902 -> 2908[label="",style="solid", color="black", weight=3]; 2903[label="absReal1 (Pos (Succ vuz160)) (not False)",fontsize=16,color="black",shape="box"];2903 -> 2909[label="",style="solid", color="black", weight=3]; 2904[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];2904 -> 2910[label="",style="solid", color="black", weight=3]; 2905[label="primRemInt vuz87 (Pos (Succ vuz8600))",fontsize=16,color="burlywood",shape="box"];3264[label="vuz87/Pos vuz870",fontsize=10,color="white",style="solid",shape="box"];2905 -> 3264[label="",style="solid", color="burlywood", weight=9]; 3264 -> 2911[label="",style="solid", color="burlywood", weight=3]; 3265[label="vuz87/Neg vuz870",fontsize=10,color="white",style="solid",shape="box"];2905 -> 3265[label="",style="solid", color="burlywood", weight=9]; 3265 -> 2912[label="",style="solid", color="burlywood", weight=3]; 2906[label="primRemInt vuz87 (Neg (Succ vuz8600))",fontsize=16,color="burlywood",shape="box"];3266[label="vuz87/Pos vuz870",fontsize=10,color="white",style="solid",shape="box"];2906 -> 3266[label="",style="solid", color="burlywood", weight=9]; 3266 -> 2913[label="",style="solid", color="burlywood", weight=3]; 3267[label="vuz87/Neg vuz870",fontsize=10,color="white",style="solid",shape="box"];2906 -> 3267[label="",style="solid", color="burlywood", weight=9]; 3267 -> 2914[label="",style="solid", color="burlywood", weight=3]; 2907[label="absReal0 (Neg (Succ vuz410)) otherwise",fontsize=16,color="black",shape="box"];2907 -> 2915[label="",style="solid", color="black", weight=3]; 2908[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];2908 -> 2916[label="",style="solid", color="black", weight=3]; 2909[label="absReal1 (Pos (Succ vuz160)) True",fontsize=16,color="black",shape="box"];2909 -> 2917[label="",style="solid", color="black", weight=3]; 2910[label="Pos Zero",fontsize=16,color="green",shape="box"];2911[label="primRemInt (Pos vuz870) (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2911 -> 2918[label="",style="solid", color="black", weight=3]; 2912[label="primRemInt (Neg vuz870) (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2912 -> 2919[label="",style="solid", color="black", weight=3]; 2913[label="primRemInt (Pos vuz870) (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2913 -> 2920[label="",style="solid", color="black", weight=3]; 2914[label="primRemInt (Neg vuz870) (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2914 -> 2921[label="",style="solid", color="black", weight=3]; 2915[label="absReal0 (Neg (Succ vuz410)) True",fontsize=16,color="black",shape="box"];2915 -> 2922[label="",style="solid", color="black", weight=3]; 2916[label="Neg Zero",fontsize=16,color="green",shape="box"];2917[label="Pos (Succ vuz160)",fontsize=16,color="green",shape="box"];2918[label="Pos (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2918 -> 2923[label="",style="dashed", color="green", weight=3]; 2919[label="Neg (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2919 -> 2924[label="",style="dashed", color="green", weight=3]; 2920[label="Pos (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2920 -> 2925[label="",style="dashed", color="green", weight=3]; 2921[label="Neg (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2921 -> 2926[label="",style="dashed", color="green", weight=3]; 2922[label="`negate` Neg (Succ vuz410)",fontsize=16,color="black",shape="box"];2922 -> 2927[label="",style="solid", color="black", weight=3]; 2923[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="burlywood",shape="triangle"];3268[label="vuz870/Succ vuz8700",fontsize=10,color="white",style="solid",shape="box"];2923 -> 3268[label="",style="solid", color="burlywood", weight=9]; 3268 -> 2928[label="",style="solid", color="burlywood", weight=3]; 3269[label="vuz870/Zero",fontsize=10,color="white",style="solid",shape="box"];2923 -> 3269[label="",style="solid", color="burlywood", weight=9]; 3269 -> 2929[label="",style="solid", color="burlywood", weight=3]; 2924 -> 2923[label="",style="dashed", color="red", weight=0]; 2924[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2924 -> 2930[label="",style="dashed", color="magenta", weight=3]; 2925 -> 2923[label="",style="dashed", color="red", weight=0]; 2925[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2925 -> 2931[label="",style="dashed", color="magenta", weight=3]; 2926 -> 2923[label="",style="dashed", color="red", weight=0]; 2926[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2926 -> 2932[label="",style="dashed", color="magenta", weight=3]; 2926 -> 2933[label="",style="dashed", color="magenta", weight=3]; 2927[label="primNegInt (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2927 -> 2934[label="",style="solid", color="black", weight=3]; 2928[label="primModNatS (Succ vuz8700) (Succ vuz8600)",fontsize=16,color="black",shape="box"];2928 -> 2935[label="",style="solid", color="black", weight=3]; 2929[label="primModNatS Zero (Succ vuz8600)",fontsize=16,color="black",shape="box"];2929 -> 2936[label="",style="solid", color="black", weight=3]; 2930[label="vuz870",fontsize=16,color="green",shape="box"];2931[label="vuz8600",fontsize=16,color="green",shape="box"];2932[label="vuz8600",fontsize=16,color="green",shape="box"];2933[label="vuz870",fontsize=16,color="green",shape="box"];2934[label="Pos (Succ vuz410)",fontsize=16,color="green",shape="box"];2935[label="primModNatS0 vuz8700 vuz8600 (primGEqNatS vuz8700 vuz8600)",fontsize=16,color="burlywood",shape="box"];3270[label="vuz8700/Succ vuz87000",fontsize=10,color="white",style="solid",shape="box"];2935 -> 3270[label="",style="solid", color="burlywood", weight=9]; 3270 -> 2937[label="",style="solid", color="burlywood", weight=3]; 3271[label="vuz8700/Zero",fontsize=10,color="white",style="solid",shape="box"];2935 -> 3271[label="",style="solid", color="burlywood", weight=9]; 3271 -> 2938[label="",style="solid", color="burlywood", weight=3]; 2936[label="Zero",fontsize=16,color="green",shape="box"];2937[label="primModNatS0 (Succ vuz87000) vuz8600 (primGEqNatS (Succ vuz87000) vuz8600)",fontsize=16,color="burlywood",shape="box"];3272[label="vuz8600/Succ vuz86000",fontsize=10,color="white",style="solid",shape="box"];2937 -> 3272[label="",style="solid", color="burlywood", weight=9]; 3272 -> 2939[label="",style="solid", color="burlywood", weight=3]; 3273[label="vuz8600/Zero",fontsize=10,color="white",style="solid",shape="box"];2937 -> 3273[label="",style="solid", color="burlywood", weight=9]; 3273 -> 2940[label="",style="solid", color="burlywood", weight=3]; 2938[label="primModNatS0 Zero vuz8600 (primGEqNatS Zero vuz8600)",fontsize=16,color="burlywood",shape="box"];3274[label="vuz8600/Succ vuz86000",fontsize=10,color="white",style="solid",shape="box"];2938 -> 3274[label="",style="solid", color="burlywood", weight=9]; 3274 -> 2941[label="",style="solid", color="burlywood", weight=3]; 3275[label="vuz8600/Zero",fontsize=10,color="white",style="solid",shape="box"];2938 -> 3275[label="",style="solid", color="burlywood", weight=9]; 3275 -> 2942[label="",style="solid", color="burlywood", weight=3]; 2939[label="primModNatS0 (Succ vuz87000) (Succ vuz86000) (primGEqNatS (Succ vuz87000) (Succ vuz86000))",fontsize=16,color="black",shape="box"];2939 -> 2943[label="",style="solid", color="black", weight=3]; 2940[label="primModNatS0 (Succ vuz87000) Zero (primGEqNatS (Succ vuz87000) Zero)",fontsize=16,color="black",shape="box"];2940 -> 2944[label="",style="solid", color="black", weight=3]; 2941[label="primModNatS0 Zero (Succ vuz86000) (primGEqNatS Zero (Succ vuz86000))",fontsize=16,color="black",shape="box"];2941 -> 2945[label="",style="solid", color="black", weight=3]; 2942[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2942 -> 2946[label="",style="solid", color="black", weight=3]; 2943 -> 3105[label="",style="dashed", color="red", weight=0]; 2943[label="primModNatS0 (Succ vuz87000) (Succ vuz86000) (primGEqNatS vuz87000 vuz86000)",fontsize=16,color="magenta"];2943 -> 3106[label="",style="dashed", color="magenta", weight=3]; 2943 -> 3107[label="",style="dashed", color="magenta", weight=3]; 2943 -> 3108[label="",style="dashed", color="magenta", weight=3]; 2943 -> 3109[label="",style="dashed", color="magenta", weight=3]; 2944[label="primModNatS0 (Succ vuz87000) Zero True",fontsize=16,color="black",shape="box"];2944 -> 2949[label="",style="solid", color="black", weight=3]; 2945[label="primModNatS0 Zero (Succ vuz86000) False",fontsize=16,color="black",shape="box"];2945 -> 2950[label="",style="solid", color="black", weight=3]; 2946[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];2946 -> 2951[label="",style="solid", color="black", weight=3]; 3106[label="vuz87000",fontsize=16,color="green",shape="box"];3107[label="vuz87000",fontsize=16,color="green",shape="box"];3108[label="vuz86000",fontsize=16,color="green",shape="box"];3109[label="vuz86000",fontsize=16,color="green",shape="box"];3105[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz106 vuz107)",fontsize=16,color="burlywood",shape="triangle"];3276[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];3105 -> 3276[label="",style="solid", color="burlywood", weight=9]; 3276 -> 3138[label="",style="solid", color="burlywood", weight=3]; 3277[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];3105 -> 3277[label="",style="solid", color="burlywood", weight=9]; 3277 -> 3139[label="",style="solid", color="burlywood", weight=3]; 2949 -> 2923[label="",style="dashed", color="red", weight=0]; 2949[label="primModNatS (primMinusNatS (Succ vuz87000) Zero) (Succ Zero)",fontsize=16,color="magenta"];2949 -> 2956[label="",style="dashed", color="magenta", weight=3]; 2949 -> 2957[label="",style="dashed", color="magenta", weight=3]; 2950[label="Succ Zero",fontsize=16,color="green",shape="box"];2951 -> 2923[label="",style="dashed", color="red", weight=0]; 2951[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];2951 -> 2958[label="",style="dashed", color="magenta", weight=3]; 2951 -> 2959[label="",style="dashed", color="magenta", weight=3]; 3138[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) vuz107)",fontsize=16,color="burlywood",shape="box"];3278[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];3138 -> 3278[label="",style="solid", color="burlywood", weight=9]; 3278 -> 3140[label="",style="solid", color="burlywood", weight=3]; 3279[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];3138 -> 3279[label="",style="solid", color="burlywood", weight=9]; 3279 -> 3141[label="",style="solid", color="burlywood", weight=3]; 3139[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero vuz107)",fontsize=16,color="burlywood",shape="box"];3280[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];3139 -> 3280[label="",style="solid", color="burlywood", weight=9]; 3280 -> 3142[label="",style="solid", color="burlywood", weight=3]; 3281[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];3139 -> 3281[label="",style="solid", color="burlywood", weight=9]; 3281 -> 3143[label="",style="solid", color="burlywood", weight=3]; 2956[label="Zero",fontsize=16,color="green",shape="box"];2957 -> 2734[label="",style="dashed", color="red", weight=0]; 2957[label="primMinusNatS (Succ vuz87000) Zero",fontsize=16,color="magenta"];2957 -> 2964[label="",style="dashed", color="magenta", weight=3]; 2957 -> 2965[label="",style="dashed", color="magenta", weight=3]; 2958[label="Zero",fontsize=16,color="green",shape="box"];2959 -> 2734[label="",style="dashed", color="red", weight=0]; 2959[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];2959 -> 2966[label="",style="dashed", color="magenta", weight=3]; 2959 -> 2967[label="",style="dashed", color="magenta", weight=3]; 3140[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) (Succ vuz1070))",fontsize=16,color="black",shape="box"];3140 -> 3144[label="",style="solid", color="black", weight=3]; 3141[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) Zero)",fontsize=16,color="black",shape="box"];3141 -> 3145[label="",style="solid", color="black", weight=3]; 3142[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero (Succ vuz1070))",fontsize=16,color="black",shape="box"];3142 -> 3146[label="",style="solid", color="black", weight=3]; 3143[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3143 -> 3147[label="",style="solid", color="black", weight=3]; 2964[label="Zero",fontsize=16,color="green",shape="box"];2965[label="Succ vuz87000",fontsize=16,color="green",shape="box"];2966[label="Zero",fontsize=16,color="green",shape="box"];2967[label="Zero",fontsize=16,color="green",shape="box"];3144 -> 3105[label="",style="dashed", color="red", weight=0]; 3144[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz1060 vuz1070)",fontsize=16,color="magenta"];3144 -> 3148[label="",style="dashed", color="magenta", weight=3]; 3144 -> 3149[label="",style="dashed", color="magenta", weight=3]; 3145[label="primModNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="black",shape="triangle"];3145 -> 3150[label="",style="solid", color="black", weight=3]; 3146[label="primModNatS0 (Succ vuz104) (Succ vuz105) False",fontsize=16,color="black",shape="box"];3146 -> 3151[label="",style="solid", color="black", weight=3]; 3147 -> 3145[label="",style="dashed", color="red", weight=0]; 3147[label="primModNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="magenta"];3148[label="vuz1060",fontsize=16,color="green",shape="box"];3149[label="vuz1070",fontsize=16,color="green",shape="box"];3150 -> 2923[label="",style="dashed", color="red", weight=0]; 3150[label="primModNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105))",fontsize=16,color="magenta"];3150 -> 3152[label="",style="dashed", color="magenta", weight=3]; 3150 -> 3153[label="",style="dashed", color="magenta", weight=3]; 3151[label="Succ (Succ vuz104)",fontsize=16,color="green",shape="box"];3152[label="Succ vuz105",fontsize=16,color="green",shape="box"];3153 -> 2734[label="",style="dashed", color="red", weight=0]; 3153[label="primMinusNatS (Succ vuz104) (Succ vuz105)",fontsize=16,color="magenta"];3153 -> 3154[label="",style="dashed", color="magenta", weight=3]; 3153 -> 3155[label="",style="dashed", color="magenta", weight=3]; 3154[label="Succ vuz105",fontsize=16,color="green",shape="box"];3155[label="Succ vuz104",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'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) The TRS R consists of the following rules: new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Zero, vuz8600) -> Zero new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primRemInt(Pos(x0), x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) The TRS R consists of the following rules: new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Zero, vuz8600) -> Zero new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 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'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) 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'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 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'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) *(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'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) *(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'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) The TRS R consists of the following rules: new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Zero, vuz8600) -> Zero new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primRemInt(Pos(x0), x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) 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'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 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(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Zero, vuz8600) -> Zero new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primRemInt(Pos(x0), x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Zero, vuz8600) -> Zero new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primRemInt(Pos(x0), x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primRemInt(Pos(x0), x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(Neg(x0), x1) new_primRemInt(Neg(x0), x1) new_primRemInt(Pos(x0), x1) new_primRemInt0(Pos(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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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, Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (58) 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(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'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 > 2 *new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(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, vuz8600) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (59) YES ---------------------------------------- (60) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (61) 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. ---------------------------------------- (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(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) 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))))) ---------------------------------------- (64) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (66) Complex Obligation (AND) ---------------------------------------- (67) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) 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))))) ---------------------------------------- (69) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) 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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) 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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) 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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) 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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (79) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) 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))))) ---------------------------------------- (81) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (82) 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)))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (84) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (85) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (86) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (87) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (88) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (89) TRUE ---------------------------------------- (90) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (91) 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)))))) ---------------------------------------- (92) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (93) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (94) Complex Obligation (AND) ---------------------------------------- (95) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (96) 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)))))) ---------------------------------------- (97) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (98) 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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (100) 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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (102) 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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (104) 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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (106) 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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (108) 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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (110) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (111) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (112) 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)))))) ---------------------------------------- (113) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (114) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (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))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (116) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (117) TRUE ---------------------------------------- (118) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (119) 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. ---------------------------------------- (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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (121) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 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(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Zero, vuz8600) -> Zero new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primRemInt(Pos(x0), x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (122) 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. ---------------------------------------- (123) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primRemInt(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primRemInt(Pos(x0), x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (124) 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(Neg(x0), x1) new_primRemInt(Pos(x0), x1) ---------------------------------------- (125) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (126) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 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)))) ---------------------------------------- (127) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (128) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (129) Complex Obligation (AND) ---------------------------------------- (130) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (131) 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. ---------------------------------------- (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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (133) 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(Neg(x0), x1) new_primRemInt0(Pos(x0), x1) ---------------------------------------- (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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (135) 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))) ---------------------------------------- (136) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (138) Complex Obligation (AND) ---------------------------------------- (139) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (140) 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. ---------------------------------------- (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_primMinusNatS0(Zero, Zero) -> Zero new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (142) 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, Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (144) 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)))) ---------------------------------------- (145) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (149) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) 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)))) ---------------------------------------- (151) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (152) 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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (156) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (157) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (158) 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)))) ---------------------------------------- (159) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) 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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (165) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (166) 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(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)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(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))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(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, vuz8600) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (167) YES ---------------------------------------- (168) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (169) 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. ---------------------------------------- (170) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (171) 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))))) ---------------------------------------- (172) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (173) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (174) Complex Obligation (AND) ---------------------------------------- (175) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (176) 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))))) ---------------------------------------- (177) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (178) 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))))) ---------------------------------------- (179) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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))))) ---------------------------------------- (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_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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (186) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (187) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (188) 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))))) ---------------------------------------- (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(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (190) 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)))) ---------------------------------------- (191) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (192) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (193) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (194) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (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)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (196) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (197) TRUE ---------------------------------------- (198) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (199) 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)))))) ---------------------------------------- (200) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (201) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (202) Complex Obligation (AND) ---------------------------------------- (203) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (204) 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)))))) ---------------------------------------- (205) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (206) 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)))))) ---------------------------------------- (207) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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)))))) ---------------------------------------- (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_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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (218) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (219) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (220) 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)))))) ---------------------------------------- (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(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (222) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (223) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (224) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (225) TRUE ---------------------------------------- (226) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (227) 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. ---------------------------------------- (228) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (229) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (230) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (231) Obligation: Q DP problem: The TRS P consists of the following rules: new_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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primRemInt0(Neg(x0), x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt0(Pos(x0), x1) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (232) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt0(Neg(x0), x1) new_primRemInt0(Pos(x0), x1) ---------------------------------------- (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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (234) 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))) ---------------------------------------- (235) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (236) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (237) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (238) 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)))) ---------------------------------------- (239) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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'(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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (242) 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)))) ---------------------------------------- (243) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (244) 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))) ---------------------------------------- (245) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (246) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. ---------------------------------------- (247) Complex Obligation (AND) ---------------------------------------- (248) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (249) 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. ---------------------------------------- (250) 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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (251) 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, Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (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_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (253) 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)))) ---------------------------------------- (254) 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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (255) 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)))) ---------------------------------------- (256) 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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(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(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)))) ---------------------------------------- (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(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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (259) 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)))) ---------------------------------------- (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(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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (261) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (262) 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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (263) 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)))) ---------------------------------------- (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(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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (265) 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)))) ---------------------------------------- (266) 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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (267) 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)))) ---------------------------------------- (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(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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (269) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (270) 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(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (271) 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, vuz8600) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (272) YES ---------------------------------------- (273) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (274) 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. ---------------------------------------- (275) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (276) 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, Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (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(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (278) 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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (280) 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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (282) 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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (284) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (285) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (286) 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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (288) 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)))) ---------------------------------------- (289) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (290) 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)))) ---------------------------------------- (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(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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (292) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (293) 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(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (294) 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, vuz8600) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (295) YES ---------------------------------------- (296) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS1(Zero, vuz8600) -> Zero new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (297) 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. ---------------------------------------- (298) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (299) 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))))) ---------------------------------------- (300) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) 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))))) ---------------------------------------- (302) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (303) 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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (311) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (312) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) 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))))) ---------------------------------------- (314) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) 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)))))) ---------------------------------------- (316) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) 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)))))) ---------------------------------------- (318) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) 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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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)))))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (331) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (332) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (333) 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)))))) ---------------------------------------- (334) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (335) 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))))) ---------------------------------------- (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'(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (337) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (338) Complex Obligation (AND) ---------------------------------------- (339) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (340) 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))))) ---------------------------------------- (341) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (342) 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))))) ---------------------------------------- (343) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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))))) ---------------------------------------- (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(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (346) 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)))) ---------------------------------------- (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(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (348) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (349) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (350) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (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)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (352) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (353) TRUE ---------------------------------------- (354) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (355) 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)))) ---------------------------------------- (356) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (357) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (358) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (359) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (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)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (361) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (362) TRUE ---------------------------------------- (363) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (364) 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)))))) ---------------------------------------- (365) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (366) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (367) Complex Obligation (AND) ---------------------------------------- (368) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (369) 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)))))) ---------------------------------------- (370) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (371) 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)))))) ---------------------------------------- (372) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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_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)))))) ---------------------------------------- (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(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) 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(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)))))) ---------------------------------------- (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(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (377) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (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))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (379) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (380) TRUE ---------------------------------------- (381) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (382) 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(vuz86000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (383) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (384) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (385) TRUE ---------------------------------------- (386) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (387) 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. ---------------------------------------- (388) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) new_primModNatS1(Zero, vuz8600) -> Zero new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS02(x0, x1) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (389) 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(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS(Succ(Succ(vuz87000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (390) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (391) Complex Obligation (AND) ---------------------------------------- (392) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (393) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)),new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105))) ---------------------------------------- (394) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (395) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)),new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105))) ---------------------------------------- (396) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (397) 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(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) (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(vuz800)) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) ---------------------------------------- (398) YES ---------------------------------------- (399) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz87000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (400) 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(vuz87000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz87000), 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(vuz790), Zero) -> Succ(vuz790) ---------------------------------------- (401) YES ---------------------------------------- (402) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz3900)), Succ(vuz40000)) -> new_primDivNatS0(vuz3900, vuz40000, vuz3900, vuz40000) new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) new_primDivNatS0(vuz79, vuz80, Zero, Zero) -> new_primDivNatS00(vuz79, vuz80) new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Succ(vuz820)) -> new_primDivNatS0(vuz79, vuz80, vuz810, vuz820) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS2, Zero) new_primDivNatS(Succ(Succ(vuz3900)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz3900), Zero) new_primDivNatS00(vuz79, vuz80) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz3900) -> Succ(vuz3900) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (403) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (404) Complex Obligation (AND) ---------------------------------------- (405) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz3900)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz3900), Zero) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz3900) -> Succ(vuz3900) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (406) 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(vuz3900)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz3900), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz3900) -> Succ(vuz3900) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 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 ---------------------------------------- (407) 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_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (408) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (409) YES ---------------------------------------- (410) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) new_primDivNatS(Succ(Succ(vuz3900)), Succ(vuz40000)) -> new_primDivNatS0(vuz3900, vuz40000, vuz3900, vuz40000) new_primDivNatS0(vuz79, vuz80, Zero, Zero) -> new_primDivNatS00(vuz79, vuz80) new_primDivNatS00(vuz79, vuz80) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Succ(vuz820)) -> new_primDivNatS0(vuz79, vuz80, vuz810, vuz820) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz3900) -> Succ(vuz3900) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) The set Q consists of the following terms: new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (411) 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(vuz3900)), Succ(vuz40000)) -> new_primDivNatS0(vuz3900, vuz40000, vuz3900, vuz40000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Succ(vuz820)) -> new_primDivNatS0(vuz79, vuz80, vuz810, vuz820) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS0(vuz79, vuz80, Zero, Zero) -> new_primDivNatS00(vuz79, vuz80) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS00(vuz79, vuz80) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) (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(vuz800)) -> Zero new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) ---------------------------------------- (412) YES ---------------------------------------- (413) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (414) 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(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (415) YES ---------------------------------------- (416) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS(vuz790, vuz800) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (417) 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(vuz790), Succ(vuz800)) -> new_primMinusNatS(vuz790, vuz800) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (418) YES ---------------------------------------- (419) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz2100), Succ(vuz41000)) -> new_primPlusNat(vuz2100, vuz41000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (420) 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(vuz2100), Succ(vuz41000)) -> new_primPlusNat(vuz2100, vuz41000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (421) YES ---------------------------------------- (422) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="(*)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(*) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="(*) vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];3156[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 3156[label="",style="solid", color="burlywood", weight=9]; 3156 -> 5[label="",style="solid", color="burlywood", weight=3]; 5[label="(*) (vuz30 :% vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];3157[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];5 -> 3157[label="",style="solid", color="burlywood", weight=9]; 3157 -> 6[label="",style="solid", color="burlywood", weight=3]; 6[label="(*) (vuz30 :% vuz31) (vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="reduce (vuz30 * vuz40) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="reduce2 (vuz30 * vuz40) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9[label="reduce2Reduce1 (vuz30 * vuz40) (vuz31 * vuz41) (vuz30 * vuz40) (vuz31 * vuz41) (vuz31 * vuz41 == fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 10[label="reduce2Reduce1 (vuz30 * vuz40) (vuz31 * vuz41) (vuz30 * vuz40) (vuz31 * vuz41) (primEqInt (vuz31 * vuz41) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 11[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt vuz31 vuz41) (vuz30 * vuz40) (primMulInt vuz31 vuz41) (primEqInt (primMulInt vuz31 vuz41) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];3158[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];11 -> 3158[label="",style="solid", color="burlywood", weight=9]; 3158 -> 12[label="",style="solid", color="burlywood", weight=3]; 3159[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];11 -> 3159[label="",style="solid", color="burlywood", weight=9]; 3159 -> 13[label="",style="solid", color="burlywood", weight=3]; 12[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Pos vuz310) vuz41) (vuz30 * vuz40) (primMulInt (Pos vuz310) vuz41) (primEqInt (primMulInt (Pos vuz310) vuz41) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];3160[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];12 -> 3160[label="",style="solid", color="burlywood", weight=9]; 3160 -> 14[label="",style="solid", color="burlywood", weight=3]; 3161[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];12 -> 3161[label="",style="solid", color="burlywood", weight=9]; 3161 -> 15[label="",style="solid", color="burlywood", weight=3]; 13[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Neg vuz310) vuz41) (vuz30 * vuz40) (primMulInt (Neg vuz310) vuz41) (primEqInt (primMulInt (Neg vuz310) vuz41) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];3162[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];13 -> 3162[label="",style="solid", color="burlywood", weight=9]; 3162 -> 16[label="",style="solid", color="burlywood", weight=3]; 3163[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];13 -> 3163[label="",style="solid", color="burlywood", weight=9]; 3163 -> 17[label="",style="solid", color="burlywood", weight=3]; 14[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Pos vuz310) (Pos vuz410)) (vuz30 * vuz40) (primMulInt (Pos vuz310) (Pos vuz410)) (primEqInt (primMulInt (Pos vuz310) (Pos vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Pos vuz310) (Neg vuz410)) (vuz30 * vuz40) (primMulInt (Pos vuz310) (Neg vuz410)) (primEqInt (primMulInt (Pos vuz310) (Neg vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Neg vuz310) (Pos vuz410)) (vuz30 * vuz40) (primMulInt (Neg vuz310) (Pos vuz410)) (primEqInt (primMulInt (Neg vuz310) (Pos vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="reduce2Reduce1 (vuz30 * vuz40) (primMulInt (Neg vuz310) (Neg vuz410)) (vuz30 * vuz40) (primMulInt (Neg vuz310) (Neg vuz410)) (primEqInt (primMulInt (Neg vuz310) (Neg vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18 -> 222[label="",style="dashed", color="red", weight=0]; 18[label="reduce2Reduce1 (vuz30 * vuz40) (Pos (primMulNat vuz310 vuz410)) (vuz30 * vuz40) (Pos (primMulNat vuz310 vuz410)) (primEqInt (Pos (primMulNat vuz310 vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="magenta"];18 -> 223[label="",style="dashed", color="magenta", weight=3]; 18 -> 224[label="",style="dashed", color="magenta", weight=3]; 18 -> 225[label="",style="dashed", color="magenta", weight=3]; 19 -> 269[label="",style="dashed", color="red", weight=0]; 19[label="reduce2Reduce1 (vuz30 * vuz40) (Neg (primMulNat vuz310 vuz410)) (vuz30 * vuz40) (Neg (primMulNat vuz310 vuz410)) (primEqInt (Neg (primMulNat vuz310 vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="magenta"];19 -> 270[label="",style="dashed", color="magenta", weight=3]; 19 -> 271[label="",style="dashed", color="magenta", weight=3]; 19 -> 272[label="",style="dashed", color="magenta", weight=3]; 20 -> 269[label="",style="dashed", color="red", weight=0]; 20[label="reduce2Reduce1 (vuz30 * vuz40) (Neg (primMulNat vuz310 vuz410)) (vuz30 * vuz40) (Neg (primMulNat vuz310 vuz410)) (primEqInt (Neg (primMulNat vuz310 vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="magenta"];20 -> 273[label="",style="dashed", color="magenta", weight=3]; 20 -> 274[label="",style="dashed", color="magenta", weight=3]; 20 -> 275[label="",style="dashed", color="magenta", weight=3]; 21 -> 222[label="",style="dashed", color="red", weight=0]; 21[label="reduce2Reduce1 (vuz30 * vuz40) (Pos (primMulNat vuz310 vuz410)) (vuz30 * vuz40) (Pos (primMulNat vuz310 vuz410)) (primEqInt (Pos (primMulNat vuz310 vuz410)) (fromInt (Pos Zero)))",fontsize=16,color="magenta"];21 -> 226[label="",style="dashed", color="magenta", weight=3]; 21 -> 227[label="",style="dashed", color="magenta", weight=3]; 21 -> 228[label="",style="dashed", color="magenta", weight=3]; 223[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];3164[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];223 -> 3164[label="",style="solid", color="burlywood", weight=9]; 3164 -> 259[label="",style="solid", color="burlywood", weight=3]; 3165[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];223 -> 3165[label="",style="solid", color="burlywood", weight=9]; 3165 -> 260[label="",style="solid", color="burlywood", weight=3]; 224 -> 223[label="",style="dashed", color="red", weight=0]; 224[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];225 -> 223[label="",style="dashed", color="red", weight=0]; 225[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];222[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos vuz17) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];3166[label="vuz17/Succ vuz170",fontsize=10,color="white",style="solid",shape="box"];222 -> 3166[label="",style="solid", color="burlywood", weight=9]; 3166 -> 261[label="",style="solid", color="burlywood", weight=3]; 3167[label="vuz17/Zero",fontsize=10,color="white",style="solid",shape="box"];222 -> 3167[label="",style="solid", color="burlywood", weight=9]; 3167 -> 262[label="",style="solid", color="burlywood", weight=3]; 270 -> 223[label="",style="dashed", color="red", weight=0]; 270[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];270 -> 306[label="",style="dashed", color="magenta", weight=3]; 271 -> 223[label="",style="dashed", color="red", weight=0]; 271[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];271 -> 307[label="",style="dashed", color="magenta", weight=3]; 272 -> 223[label="",style="dashed", color="red", weight=0]; 272[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];272 -> 308[label="",style="dashed", color="magenta", weight=3]; 269[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg vuz20) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];3168[label="vuz20/Succ vuz200",fontsize=10,color="white",style="solid",shape="box"];269 -> 3168[label="",style="solid", color="burlywood", weight=9]; 3168 -> 309[label="",style="solid", color="burlywood", weight=3]; 3169[label="vuz20/Zero",fontsize=10,color="white",style="solid",shape="box"];269 -> 3169[label="",style="solid", color="burlywood", weight=9]; 3169 -> 310[label="",style="solid", color="burlywood", weight=3]; 273 -> 223[label="",style="dashed", color="red", weight=0]; 273[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];273 -> 311[label="",style="dashed", color="magenta", weight=3]; 274 -> 223[label="",style="dashed", color="red", weight=0]; 274[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];274 -> 312[label="",style="dashed", color="magenta", weight=3]; 275 -> 223[label="",style="dashed", color="red", weight=0]; 275[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];275 -> 313[label="",style="dashed", color="magenta", weight=3]; 226 -> 223[label="",style="dashed", color="red", weight=0]; 226[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];226 -> 263[label="",style="dashed", color="magenta", weight=3]; 226 -> 264[label="",style="dashed", color="magenta", weight=3]; 227 -> 223[label="",style="dashed", color="red", weight=0]; 227[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];227 -> 265[label="",style="dashed", color="magenta", weight=3]; 227 -> 266[label="",style="dashed", color="magenta", weight=3]; 228 -> 223[label="",style="dashed", color="red", weight=0]; 228[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];228 -> 267[label="",style="dashed", color="magenta", weight=3]; 228 -> 268[label="",style="dashed", color="magenta", weight=3]; 259[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];3170[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];259 -> 3170[label="",style="solid", color="burlywood", weight=9]; 3170 -> 314[label="",style="solid", color="burlywood", weight=3]; 3171[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];259 -> 3171[label="",style="solid", color="burlywood", weight=9]; 3171 -> 315[label="",style="solid", color="burlywood", weight=3]; 260[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];3172[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];260 -> 3172[label="",style="solid", color="burlywood", weight=9]; 3172 -> 316[label="",style="solid", color="burlywood", weight=3]; 3173[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];260 -> 3173[label="",style="solid", color="burlywood", weight=9]; 3173 -> 317[label="",style="solid", color="burlywood", weight=3]; 261[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos (Succ vuz170)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];261 -> 318[label="",style="solid", color="black", weight=3]; 262[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos Zero) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];262 -> 319[label="",style="solid", color="black", weight=3]; 306[label="vuz410",fontsize=16,color="green",shape="box"];307[label="vuz410",fontsize=16,color="green",shape="box"];308[label="vuz410",fontsize=16,color="green",shape="box"];309[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg (Succ vuz200)) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];309 -> 320[label="",style="solid", color="black", weight=3]; 310[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg Zero) (fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];310 -> 321[label="",style="solid", color="black", weight=3]; 311[label="vuz310",fontsize=16,color="green",shape="box"];312[label="vuz310",fontsize=16,color="green",shape="box"];313[label="vuz310",fontsize=16,color="green",shape="box"];263[label="vuz410",fontsize=16,color="green",shape="box"];264[label="vuz310",fontsize=16,color="green",shape="box"];265[label="vuz410",fontsize=16,color="green",shape="box"];266[label="vuz310",fontsize=16,color="green",shape="box"];267[label="vuz410",fontsize=16,color="green",shape="box"];268[label="vuz310",fontsize=16,color="green",shape="box"];314[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];314 -> 322[label="",style="solid", color="black", weight=3]; 315[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];315 -> 323[label="",style="solid", color="black", weight=3]; 316[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];316 -> 324[label="",style="solid", color="black", weight=3]; 317[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];317 -> 325[label="",style="solid", color="black", weight=3]; 318[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos (Succ vuz170)) (Pos Zero))",fontsize=16,color="black",shape="box"];318 -> 326[label="",style="solid", color="black", weight=3]; 319[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];319 -> 327[label="",style="solid", color="black", weight=3]; 320[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg (Succ vuz200)) (Pos Zero))",fontsize=16,color="black",shape="box"];320 -> 328[label="",style="solid", color="black", weight=3]; 321[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];321 -> 329[label="",style="solid", color="black", weight=3]; 322 -> 330[label="",style="dashed", color="red", weight=0]; 322[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];322 -> 331[label="",style="dashed", color="magenta", weight=3]; 323[label="Zero",fontsize=16,color="green",shape="box"];324[label="Zero",fontsize=16,color="green",shape="box"];325[label="Zero",fontsize=16,color="green",shape="box"];326[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) False",fontsize=16,color="black",shape="box"];326 -> 332[label="",style="solid", color="black", weight=3]; 327[label="reduce2Reduce1 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) True",fontsize=16,color="black",shape="box"];327 -> 333[label="",style="solid", color="black", weight=3]; 328[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) False",fontsize=16,color="black",shape="box"];328 -> 334[label="",style="solid", color="black", weight=3]; 329[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) True",fontsize=16,color="black",shape="box"];329 -> 335[label="",style="solid", color="black", weight=3]; 331 -> 223[label="",style="dashed", color="red", weight=0]; 331[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];331 -> 336[label="",style="dashed", color="magenta", weight=3]; 331 -> 337[label="",style="dashed", color="magenta", weight=3]; 330[label="primPlusNat vuz21 (Succ vuz4100)",fontsize=16,color="burlywood",shape="triangle"];3174[label="vuz21/Succ vuz210",fontsize=10,color="white",style="solid",shape="box"];330 -> 3174[label="",style="solid", color="burlywood", weight=9]; 3174 -> 338[label="",style="solid", color="burlywood", weight=3]; 3175[label="vuz21/Zero",fontsize=10,color="white",style="solid",shape="box"];330 -> 3175[label="",style="solid", color="burlywood", weight=9]; 3175 -> 339[label="",style="solid", color="burlywood", weight=3]; 332[label="reduce2Reduce0 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) otherwise",fontsize=16,color="black",shape="box"];332 -> 340[label="",style="solid", color="black", weight=3]; 333[label="error []",fontsize=16,color="black",shape="triangle"];333 -> 341[label="",style="solid", color="black", weight=3]; 334[label="reduce2Reduce0 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) otherwise",fontsize=16,color="black",shape="box"];334 -> 342[label="",style="solid", color="black", weight=3]; 335 -> 333[label="",style="dashed", color="red", weight=0]; 335[label="error []",fontsize=16,color="magenta"];336[label="Succ vuz4100",fontsize=16,color="green",shape="box"];337[label="vuz3100",fontsize=16,color="green",shape="box"];338[label="primPlusNat (Succ vuz210) (Succ vuz4100)",fontsize=16,color="black",shape="box"];338 -> 343[label="",style="solid", color="black", weight=3]; 339[label="primPlusNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];339 -> 344[label="",style="solid", color="black", weight=3]; 340[label="reduce2Reduce0 (vuz30 * vuz40) (Pos vuz16) (vuz30 * vuz40) (Pos vuz15) True",fontsize=16,color="black",shape="box"];340 -> 345[label="",style="solid", color="black", weight=3]; 341[label="error []",fontsize=16,color="red",shape="box"];342[label="reduce2Reduce0 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) True",fontsize=16,color="black",shape="box"];342 -> 346[label="",style="solid", color="black", weight=3]; 343[label="Succ (Succ (primPlusNat vuz210 vuz4100))",fontsize=16,color="green",shape="box"];343 -> 347[label="",style="dashed", color="green", weight=3]; 344[label="Succ vuz4100",fontsize=16,color="green",shape="box"];345[label="vuz30 * vuz40 `quot` reduce2D (vuz30 * vuz40) (Pos vuz16) :% (Pos vuz15 `quot` reduce2D (vuz30 * vuz40) (Pos vuz16))",fontsize=16,color="green",shape="box"];345 -> 348[label="",style="dashed", color="green", weight=3]; 345 -> 349[label="",style="dashed", color="green", weight=3]; 346[label="vuz30 * vuz40 `quot` reduce2D (vuz30 * vuz40) (Neg vuz19) :% (Neg vuz18 `quot` reduce2D (vuz30 * vuz40) (Neg vuz19))",fontsize=16,color="green",shape="box"];346 -> 350[label="",style="dashed", color="green", weight=3]; 346 -> 351[label="",style="dashed", color="green", weight=3]; 347[label="primPlusNat vuz210 vuz4100",fontsize=16,color="burlywood",shape="triangle"];3176[label="vuz210/Succ vuz2100",fontsize=10,color="white",style="solid",shape="box"];347 -> 3176[label="",style="solid", color="burlywood", weight=9]; 3176 -> 352[label="",style="solid", color="burlywood", weight=3]; 3177[label="vuz210/Zero",fontsize=10,color="white",style="solid",shape="box"];347 -> 3177[label="",style="solid", color="burlywood", weight=9]; 3177 -> 353[label="",style="solid", color="burlywood", weight=3]; 348[label="vuz30 * vuz40 `quot` reduce2D (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];348 -> 354[label="",style="solid", color="black", weight=3]; 349[label="Pos vuz15 `quot` reduce2D (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];349 -> 355[label="",style="solid", color="black", weight=3]; 350[label="vuz30 * vuz40 `quot` reduce2D (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];350 -> 356[label="",style="solid", color="black", weight=3]; 351[label="Neg vuz18 `quot` reduce2D (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];351 -> 357[label="",style="solid", color="black", weight=3]; 352[label="primPlusNat (Succ vuz2100) vuz4100",fontsize=16,color="burlywood",shape="box"];3178[label="vuz4100/Succ vuz41000",fontsize=10,color="white",style="solid",shape="box"];352 -> 3178[label="",style="solid", color="burlywood", weight=9]; 3178 -> 358[label="",style="solid", color="burlywood", weight=3]; 3179[label="vuz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];352 -> 3179[label="",style="solid", color="burlywood", weight=9]; 3179 -> 359[label="",style="solid", color="burlywood", weight=3]; 353[label="primPlusNat Zero vuz4100",fontsize=16,color="burlywood",shape="box"];3180[label="vuz4100/Succ vuz41000",fontsize=10,color="white",style="solid",shape="box"];353 -> 3180[label="",style="solid", color="burlywood", weight=9]; 3180 -> 360[label="",style="solid", color="burlywood", weight=3]; 3181[label="vuz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];353 -> 3181[label="",style="solid", color="burlywood", weight=9]; 3181 -> 361[label="",style="solid", color="burlywood", weight=3]; 354[label="primQuotInt (vuz30 * vuz40) (reduce2D (vuz30 * vuz40) (Pos vuz16))",fontsize=16,color="black",shape="box"];354 -> 362[label="",style="solid", color="black", weight=3]; 355 -> 2212[label="",style="dashed", color="red", weight=0]; 355[label="primQuotInt (Pos vuz15) (reduce2D (vuz30 * vuz40) (Pos vuz16))",fontsize=16,color="magenta"];355 -> 2213[label="",style="dashed", color="magenta", weight=3]; 356[label="primQuotInt (vuz30 * vuz40) (reduce2D (vuz30 * vuz40) (Neg vuz19))",fontsize=16,color="black",shape="box"];356 -> 364[label="",style="solid", color="black", weight=3]; 357 -> 997[label="",style="dashed", color="red", weight=0]; 357[label="primQuotInt (Neg vuz18) (reduce2D (vuz30 * vuz40) (Neg vuz19))",fontsize=16,color="magenta"];357 -> 998[label="",style="dashed", color="magenta", weight=3]; 357 -> 999[label="",style="dashed", color="magenta", weight=3]; 358[label="primPlusNat (Succ vuz2100) (Succ vuz41000)",fontsize=16,color="black",shape="box"];358 -> 366[label="",style="solid", color="black", weight=3]; 359[label="primPlusNat (Succ vuz2100) Zero",fontsize=16,color="black",shape="box"];359 -> 367[label="",style="solid", color="black", weight=3]; 360[label="primPlusNat Zero (Succ vuz41000)",fontsize=16,color="black",shape="box"];360 -> 368[label="",style="solid", color="black", weight=3]; 361[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];361 -> 369[label="",style="solid", color="black", weight=3]; 362[label="primQuotInt (primMulInt vuz30 vuz40) (reduce2D (primMulInt vuz30 vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3182[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];362 -> 3182[label="",style="solid", color="burlywood", weight=9]; 3182 -> 370[label="",style="solid", color="burlywood", weight=3]; 3183[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];362 -> 3183[label="",style="solid", color="burlywood", weight=9]; 3183 -> 371[label="",style="solid", color="burlywood", weight=3]; 2213[label="reduce2D (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2213 -> 2622[label="",style="solid", color="black", weight=3]; 2212[label="primQuotInt (Pos vuz15) vuz83",fontsize=16,color="burlywood",shape="triangle"];3184[label="vuz83/Pos vuz830",fontsize=10,color="white",style="solid",shape="box"];2212 -> 3184[label="",style="solid", color="burlywood", weight=9]; 3184 -> 2623[label="",style="solid", color="burlywood", weight=3]; 3185[label="vuz83/Neg vuz830",fontsize=10,color="white",style="solid",shape="box"];2212 -> 3185[label="",style="solid", color="burlywood", weight=9]; 3185 -> 2624[label="",style="solid", color="burlywood", weight=3]; 364[label="primQuotInt (primMulInt vuz30 vuz40) (reduce2D (primMulInt vuz30 vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3186[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];364 -> 3186[label="",style="solid", color="burlywood", weight=9]; 3186 -> 373[label="",style="solid", color="burlywood", weight=3]; 3187[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];364 -> 3187[label="",style="solid", color="burlywood", weight=9]; 3187 -> 374[label="",style="solid", color="burlywood", weight=3]; 998[label="vuz18",fontsize=16,color="green",shape="box"];999[label="reduce2D (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];999 -> 1444[label="",style="solid", color="black", weight=3]; 997[label="primQuotInt (Neg vuz39) vuz40",fontsize=16,color="burlywood",shape="triangle"];3188[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];997 -> 3188[label="",style="solid", color="burlywood", weight=9]; 3188 -> 1445[label="",style="solid", color="burlywood", weight=3]; 3189[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];997 -> 3189[label="",style="solid", color="burlywood", weight=9]; 3189 -> 1446[label="",style="solid", color="burlywood", weight=3]; 366[label="Succ (Succ (primPlusNat vuz2100 vuz41000))",fontsize=16,color="green",shape="box"];366 -> 376[label="",style="dashed", color="green", weight=3]; 367[label="Succ vuz2100",fontsize=16,color="green",shape="box"];368[label="Succ vuz41000",fontsize=16,color="green",shape="box"];369[label="Zero",fontsize=16,color="green",shape="box"];370[label="primQuotInt (primMulInt (Pos vuz300) vuz40) (reduce2D (primMulInt (Pos vuz300) vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3190[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];370 -> 3190[label="",style="solid", color="burlywood", weight=9]; 3190 -> 377[label="",style="solid", color="burlywood", weight=3]; 3191[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];370 -> 3191[label="",style="solid", color="burlywood", weight=9]; 3191 -> 378[label="",style="solid", color="burlywood", weight=3]; 371[label="primQuotInt (primMulInt (Neg vuz300) vuz40) (reduce2D (primMulInt (Neg vuz300) vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3192[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];371 -> 3192[label="",style="solid", color="burlywood", weight=9]; 3192 -> 379[label="",style="solid", color="burlywood", weight=3]; 3193[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];371 -> 3193[label="",style="solid", color="burlywood", weight=9]; 3193 -> 380[label="",style="solid", color="burlywood", weight=3]; 2622[label="gcd (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2622 -> 2630[label="",style="solid", color="black", weight=3]; 2623[label="primQuotInt (Pos vuz15) (Pos vuz830)",fontsize=16,color="burlywood",shape="box"];3194[label="vuz830/Succ vuz8300",fontsize=10,color="white",style="solid",shape="box"];2623 -> 3194[label="",style="solid", color="burlywood", weight=9]; 3194 -> 2631[label="",style="solid", color="burlywood", weight=3]; 3195[label="vuz830/Zero",fontsize=10,color="white",style="solid",shape="box"];2623 -> 3195[label="",style="solid", color="burlywood", weight=9]; 3195 -> 2632[label="",style="solid", color="burlywood", weight=3]; 2624[label="primQuotInt (Pos vuz15) (Neg vuz830)",fontsize=16,color="burlywood",shape="box"];3196[label="vuz830/Succ vuz8300",fontsize=10,color="white",style="solid",shape="box"];2624 -> 3196[label="",style="solid", color="burlywood", weight=9]; 3196 -> 2633[label="",style="solid", color="burlywood", weight=3]; 3197[label="vuz830/Zero",fontsize=10,color="white",style="solid",shape="box"];2624 -> 3197[label="",style="solid", color="burlywood", weight=9]; 3197 -> 2634[label="",style="solid", color="burlywood", weight=3]; 373[label="primQuotInt (primMulInt (Pos vuz300) vuz40) (reduce2D (primMulInt (Pos vuz300) vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3198[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];373 -> 3198[label="",style="solid", color="burlywood", weight=9]; 3198 -> 382[label="",style="solid", color="burlywood", weight=3]; 3199[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];373 -> 3199[label="",style="solid", color="burlywood", weight=9]; 3199 -> 383[label="",style="solid", color="burlywood", weight=3]; 374[label="primQuotInt (primMulInt (Neg vuz300) vuz40) (reduce2D (primMulInt (Neg vuz300) vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3200[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];374 -> 3200[label="",style="solid", color="burlywood", weight=9]; 3200 -> 384[label="",style="solid", color="burlywood", weight=3]; 3201[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];374 -> 3201[label="",style="solid", color="burlywood", weight=9]; 3201 -> 385[label="",style="solid", color="burlywood", weight=3]; 1444[label="gcd (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1444 -> 1452[label="",style="solid", color="black", weight=3]; 1445[label="primQuotInt (Neg vuz39) (Pos vuz400)",fontsize=16,color="burlywood",shape="box"];3202[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];1445 -> 3202[label="",style="solid", color="burlywood", weight=9]; 3202 -> 1453[label="",style="solid", color="burlywood", weight=3]; 3203[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];1445 -> 3203[label="",style="solid", color="burlywood", weight=9]; 3203 -> 1454[label="",style="solid", color="burlywood", weight=3]; 1446[label="primQuotInt (Neg vuz39) (Neg vuz400)",fontsize=16,color="burlywood",shape="box"];3204[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];1446 -> 3204[label="",style="solid", color="burlywood", weight=9]; 3204 -> 1455[label="",style="solid", color="burlywood", weight=3]; 3205[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];1446 -> 3205[label="",style="solid", color="burlywood", weight=9]; 3205 -> 1456[label="",style="solid", color="burlywood", weight=3]; 376 -> 347[label="",style="dashed", color="red", weight=0]; 376[label="primPlusNat vuz2100 vuz41000",fontsize=16,color="magenta"];376 -> 387[label="",style="dashed", color="magenta", weight=3]; 376 -> 388[label="",style="dashed", color="magenta", weight=3]; 377[label="primQuotInt (primMulInt (Pos vuz300) (Pos vuz400)) (reduce2D (primMulInt (Pos vuz300) (Pos vuz400)) (Pos vuz16))",fontsize=16,color="black",shape="box"];377 -> 389[label="",style="solid", color="black", weight=3]; 378[label="primQuotInt (primMulInt (Pos vuz300) (Neg vuz400)) (reduce2D (primMulInt (Pos vuz300) (Neg vuz400)) (Pos vuz16))",fontsize=16,color="black",shape="box"];378 -> 390[label="",style="solid", color="black", weight=3]; 379[label="primQuotInt (primMulInt (Neg vuz300) (Pos vuz400)) (reduce2D (primMulInt (Neg vuz300) (Pos vuz400)) (Pos vuz16))",fontsize=16,color="black",shape="box"];379 -> 391[label="",style="solid", color="black", weight=3]; 380[label="primQuotInt (primMulInt (Neg vuz300) (Neg vuz400)) (reduce2D (primMulInt (Neg vuz300) (Neg vuz400)) (Pos vuz16))",fontsize=16,color="black",shape="box"];380 -> 392[label="",style="solid", color="black", weight=3]; 2630[label="gcd3 (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2630 -> 2642[label="",style="solid", color="black", weight=3]; 2631[label="primQuotInt (Pos vuz15) (Pos (Succ vuz8300))",fontsize=16,color="black",shape="box"];2631 -> 2643[label="",style="solid", color="black", weight=3]; 2632[label="primQuotInt (Pos vuz15) (Pos Zero)",fontsize=16,color="black",shape="box"];2632 -> 2644[label="",style="solid", color="black", weight=3]; 2633[label="primQuotInt (Pos vuz15) (Neg (Succ vuz8300))",fontsize=16,color="black",shape="box"];2633 -> 2645[label="",style="solid", color="black", weight=3]; 2634[label="primQuotInt (Pos vuz15) (Neg Zero)",fontsize=16,color="black",shape="box"];2634 -> 2646[label="",style="solid", color="black", weight=3]; 382[label="primQuotInt (primMulInt (Pos vuz300) (Pos vuz400)) (reduce2D (primMulInt (Pos vuz300) (Pos vuz400)) (Neg vuz19))",fontsize=16,color="black",shape="box"];382 -> 394[label="",style="solid", color="black", weight=3]; 383[label="primQuotInt (primMulInt (Pos vuz300) (Neg vuz400)) (reduce2D (primMulInt (Pos vuz300) (Neg vuz400)) (Neg vuz19))",fontsize=16,color="black",shape="box"];383 -> 395[label="",style="solid", color="black", weight=3]; 384[label="primQuotInt (primMulInt (Neg vuz300) (Pos vuz400)) (reduce2D (primMulInt (Neg vuz300) (Pos vuz400)) (Neg vuz19))",fontsize=16,color="black",shape="box"];384 -> 396[label="",style="solid", color="black", weight=3]; 385[label="primQuotInt (primMulInt (Neg vuz300) (Neg vuz400)) (reduce2D (primMulInt (Neg vuz300) (Neg vuz400)) (Neg vuz19))",fontsize=16,color="black",shape="box"];385 -> 397[label="",style="solid", color="black", weight=3]; 1452[label="gcd3 (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1452 -> 1464[label="",style="solid", color="black", weight=3]; 1453[label="primQuotInt (Neg vuz39) (Pos (Succ vuz4000))",fontsize=16,color="black",shape="box"];1453 -> 1465[label="",style="solid", color="black", weight=3]; 1454[label="primQuotInt (Neg vuz39) (Pos Zero)",fontsize=16,color="black",shape="box"];1454 -> 1466[label="",style="solid", color="black", weight=3]; 1455[label="primQuotInt (Neg vuz39) (Neg (Succ vuz4000))",fontsize=16,color="black",shape="box"];1455 -> 1467[label="",style="solid", color="black", weight=3]; 1456[label="primQuotInt (Neg vuz39) (Neg Zero)",fontsize=16,color="black",shape="box"];1456 -> 1468[label="",style="solid", color="black", weight=3]; 387[label="vuz2100",fontsize=16,color="green",shape="box"];388[label="vuz41000",fontsize=16,color="green",shape="box"];389 -> 2212[label="",style="dashed", color="red", weight=0]; 389[label="primQuotInt (Pos (primMulNat vuz300 vuz400)) (reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16))",fontsize=16,color="magenta"];389 -> 2217[label="",style="dashed", color="magenta", weight=3]; 389 -> 2218[label="",style="dashed", color="magenta", weight=3]; 390 -> 997[label="",style="dashed", color="red", weight=0]; 390[label="primQuotInt (Neg (primMulNat vuz300 vuz400)) (reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16))",fontsize=16,color="magenta"];390 -> 1006[label="",style="dashed", color="magenta", weight=3]; 390 -> 1007[label="",style="dashed", color="magenta", weight=3]; 391 -> 997[label="",style="dashed", color="red", weight=0]; 391[label="primQuotInt (Neg (primMulNat vuz300 vuz400)) (reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16))",fontsize=16,color="magenta"];391 -> 1008[label="",style="dashed", color="magenta", weight=3]; 391 -> 1009[label="",style="dashed", color="magenta", weight=3]; 392 -> 2212[label="",style="dashed", color="red", weight=0]; 392[label="primQuotInt (Pos (primMulNat vuz300 vuz400)) (reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16))",fontsize=16,color="magenta"];392 -> 2219[label="",style="dashed", color="magenta", weight=3]; 392 -> 2220[label="",style="dashed", color="magenta", weight=3]; 2642[label="gcd2 (vuz30 * vuz40 == fromInt (Pos Zero)) (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2642 -> 2669[label="",style="solid", color="black", weight=3]; 2643[label="Pos (primDivNatS vuz15 (Succ vuz8300))",fontsize=16,color="green",shape="box"];2643 -> 2670[label="",style="dashed", color="green", weight=3]; 2644 -> 1466[label="",style="dashed", color="red", weight=0]; 2644[label="error []",fontsize=16,color="magenta"];2645[label="Neg (primDivNatS vuz15 (Succ vuz8300))",fontsize=16,color="green",shape="box"];2645 -> 2671[label="",style="dashed", color="green", weight=3]; 2646 -> 1466[label="",style="dashed", color="red", weight=0]; 2646[label="error []",fontsize=16,color="magenta"];394 -> 2212[label="",style="dashed", color="red", weight=0]; 394[label="primQuotInt (Pos (primMulNat vuz300 vuz400)) (reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19))",fontsize=16,color="magenta"];394 -> 2222[label="",style="dashed", color="magenta", weight=3]; 394 -> 2223[label="",style="dashed", color="magenta", weight=3]; 395 -> 997[label="",style="dashed", color="red", weight=0]; 395[label="primQuotInt (Neg (primMulNat vuz300 vuz400)) (reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19))",fontsize=16,color="magenta"];395 -> 1010[label="",style="dashed", color="magenta", weight=3]; 395 -> 1011[label="",style="dashed", color="magenta", weight=3]; 396 -> 997[label="",style="dashed", color="red", weight=0]; 396[label="primQuotInt (Neg (primMulNat vuz300 vuz400)) (reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19))",fontsize=16,color="magenta"];396 -> 1012[label="",style="dashed", color="magenta", weight=3]; 396 -> 1013[label="",style="dashed", color="magenta", weight=3]; 397 -> 2212[label="",style="dashed", color="red", weight=0]; 397[label="primQuotInt (Pos (primMulNat vuz300 vuz400)) (reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19))",fontsize=16,color="magenta"];397 -> 2224[label="",style="dashed", color="magenta", weight=3]; 397 -> 2225[label="",style="dashed", color="magenta", weight=3]; 1464[label="gcd2 (vuz30 * vuz40 == fromInt (Pos Zero)) (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1464 -> 1487[label="",style="solid", color="black", weight=3]; 1465[label="Neg (primDivNatS vuz39 (Succ vuz4000))",fontsize=16,color="green",shape="box"];1465 -> 1488[label="",style="dashed", color="green", weight=3]; 1466[label="error []",fontsize=16,color="black",shape="triangle"];1466 -> 1489[label="",style="solid", color="black", weight=3]; 1467[label="Pos (primDivNatS vuz39 (Succ vuz4000))",fontsize=16,color="green",shape="box"];1467 -> 1490[label="",style="dashed", color="green", weight=3]; 1468 -> 1466[label="",style="dashed", color="red", weight=0]; 1468[label="error []",fontsize=16,color="magenta"];2217 -> 223[label="",style="dashed", color="red", weight=0]; 2217[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2217 -> 2625[label="",style="dashed", color="magenta", weight=3]; 2217 -> 2626[label="",style="dashed", color="magenta", weight=3]; 2218 -> 2627[label="",style="dashed", color="red", weight=0]; 2218[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2218 -> 2628[label="",style="dashed", color="magenta", weight=3]; 1006 -> 223[label="",style="dashed", color="red", weight=0]; 1006[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1006 -> 1447[label="",style="dashed", color="magenta", weight=3]; 1006 -> 1448[label="",style="dashed", color="magenta", weight=3]; 1007 -> 1449[label="",style="dashed", color="red", weight=0]; 1007[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];1007 -> 1450[label="",style="dashed", color="magenta", weight=3]; 1008 -> 223[label="",style="dashed", color="red", weight=0]; 1008[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1008 -> 1457[label="",style="dashed", color="magenta", weight=3]; 1008 -> 1458[label="",style="dashed", color="magenta", weight=3]; 1009 -> 1449[label="",style="dashed", color="red", weight=0]; 1009[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];1009 -> 1451[label="",style="dashed", color="magenta", weight=3]; 2219 -> 223[label="",style="dashed", color="red", weight=0]; 2219[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2219 -> 2635[label="",style="dashed", color="magenta", weight=3]; 2219 -> 2636[label="",style="dashed", color="magenta", weight=3]; 2220 -> 2627[label="",style="dashed", color="red", weight=0]; 2220[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2220 -> 2629[label="",style="dashed", color="magenta", weight=3]; 2669[label="gcd2 (primEqInt (vuz30 * vuz40) (fromInt (Pos Zero))) (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2669 -> 2685[label="",style="solid", color="black", weight=3]; 2670 -> 1488[label="",style="dashed", color="red", weight=0]; 2670[label="primDivNatS vuz15 (Succ vuz8300)",fontsize=16,color="magenta"];2670 -> 2686[label="",style="dashed", color="magenta", weight=3]; 2670 -> 2687[label="",style="dashed", color="magenta", weight=3]; 2671 -> 1488[label="",style="dashed", color="red", weight=0]; 2671[label="primDivNatS vuz15 (Succ vuz8300)",fontsize=16,color="magenta"];2671 -> 2688[label="",style="dashed", color="magenta", weight=3]; 2671 -> 2689[label="",style="dashed", color="magenta", weight=3]; 2222 -> 223[label="",style="dashed", color="red", weight=0]; 2222[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2222 -> 2637[label="",style="dashed", color="magenta", weight=3]; 2222 -> 2638[label="",style="dashed", color="magenta", weight=3]; 2223 -> 2639[label="",style="dashed", color="red", weight=0]; 2223[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];2223 -> 2640[label="",style="dashed", color="magenta", weight=3]; 1010 -> 223[label="",style="dashed", color="red", weight=0]; 1010[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1010 -> 1459[label="",style="dashed", color="magenta", weight=3]; 1010 -> 1460[label="",style="dashed", color="magenta", weight=3]; 1011 -> 1461[label="",style="dashed", color="red", weight=0]; 1011[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1011 -> 1462[label="",style="dashed", color="magenta", weight=3]; 1012 -> 223[label="",style="dashed", color="red", weight=0]; 1012[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1012 -> 1469[label="",style="dashed", color="magenta", weight=3]; 1012 -> 1470[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1461[label="",style="dashed", color="red", weight=0]; 1013[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1013 -> 1463[label="",style="dashed", color="magenta", weight=3]; 2224 -> 223[label="",style="dashed", color="red", weight=0]; 2224[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2224 -> 2647[label="",style="dashed", color="magenta", weight=3]; 2224 -> 2648[label="",style="dashed", color="magenta", weight=3]; 2225 -> 2639[label="",style="dashed", color="red", weight=0]; 2225[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];2225 -> 2641[label="",style="dashed", color="magenta", weight=3]; 1487[label="gcd2 (primEqInt (vuz30 * vuz40) (fromInt (Pos Zero))) (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1487 -> 1501[label="",style="solid", color="black", weight=3]; 1488[label="primDivNatS vuz39 (Succ vuz4000)",fontsize=16,color="burlywood",shape="triangle"];3206[label="vuz39/Succ vuz390",fontsize=10,color="white",style="solid",shape="box"];1488 -> 3206[label="",style="solid", color="burlywood", weight=9]; 3206 -> 1502[label="",style="solid", color="burlywood", weight=3]; 3207[label="vuz39/Zero",fontsize=10,color="white",style="solid",shape="box"];1488 -> 3207[label="",style="solid", color="burlywood", weight=9]; 3207 -> 1503[label="",style="solid", color="burlywood", weight=3]; 1489[label="error []",fontsize=16,color="red",shape="box"];1490 -> 1488[label="",style="dashed", color="red", weight=0]; 1490[label="primDivNatS vuz39 (Succ vuz4000)",fontsize=16,color="magenta"];1490 -> 1504[label="",style="dashed", color="magenta", weight=3]; 2625[label="vuz400",fontsize=16,color="green",shape="box"];2626[label="vuz300",fontsize=16,color="green",shape="box"];2628 -> 223[label="",style="dashed", color="red", weight=0]; 2628[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2628 -> 2649[label="",style="dashed", color="magenta", weight=3]; 2628 -> 2650[label="",style="dashed", color="magenta", weight=3]; 2627[label="reduce2D (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="triangle"];2627 -> 2651[label="",style="solid", color="black", weight=3]; 1447[label="vuz400",fontsize=16,color="green",shape="box"];1448[label="vuz300",fontsize=16,color="green",shape="box"];1450 -> 223[label="",style="dashed", color="red", weight=0]; 1450[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1450 -> 1471[label="",style="dashed", color="magenta", weight=3]; 1450 -> 1472[label="",style="dashed", color="magenta", weight=3]; 1449[label="reduce2D (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="triangle"];1449 -> 1473[label="",style="solid", color="black", weight=3]; 1457[label="vuz400",fontsize=16,color="green",shape="box"];1458[label="vuz300",fontsize=16,color="green",shape="box"];1451 -> 223[label="",style="dashed", color="red", weight=0]; 1451[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1451 -> 1474[label="",style="dashed", color="magenta", weight=3]; 1451 -> 1475[label="",style="dashed", color="magenta", weight=3]; 2635[label="vuz400",fontsize=16,color="green",shape="box"];2636[label="vuz300",fontsize=16,color="green",shape="box"];2629 -> 223[label="",style="dashed", color="red", weight=0]; 2629[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2629 -> 2652[label="",style="dashed", color="magenta", weight=3]; 2629 -> 2653[label="",style="dashed", color="magenta", weight=3]; 2685[label="gcd2 (primEqInt (primMulInt vuz30 vuz40) (fromInt (Pos Zero))) (primMulInt vuz30 vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3208[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];2685 -> 3208[label="",style="solid", color="burlywood", weight=9]; 3208 -> 2701[label="",style="solid", color="burlywood", weight=3]; 3209[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];2685 -> 3209[label="",style="solid", color="burlywood", weight=9]; 3209 -> 2702[label="",style="solid", color="burlywood", weight=3]; 2686[label="vuz15",fontsize=16,color="green",shape="box"];2687[label="vuz8300",fontsize=16,color="green",shape="box"];2688[label="vuz15",fontsize=16,color="green",shape="box"];2689[label="vuz8300",fontsize=16,color="green",shape="box"];2637[label="vuz400",fontsize=16,color="green",shape="box"];2638[label="vuz300",fontsize=16,color="green",shape="box"];2640 -> 223[label="",style="dashed", color="red", weight=0]; 2640[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2640 -> 2654[label="",style="dashed", color="magenta", weight=3]; 2640 -> 2655[label="",style="dashed", color="magenta", weight=3]; 2639[label="reduce2D (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];2639 -> 2656[label="",style="solid", color="black", weight=3]; 1459[label="vuz400",fontsize=16,color="green",shape="box"];1460[label="vuz300",fontsize=16,color="green",shape="box"];1462 -> 223[label="",style="dashed", color="red", weight=0]; 1462[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1462 -> 1476[label="",style="dashed", color="magenta", weight=3]; 1462 -> 1477[label="",style="dashed", color="magenta", weight=3]; 1461[label="reduce2D (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];1461 -> 1478[label="",style="solid", color="black", weight=3]; 1469[label="vuz400",fontsize=16,color="green",shape="box"];1470[label="vuz300",fontsize=16,color="green",shape="box"];1463 -> 223[label="",style="dashed", color="red", weight=0]; 1463[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1463 -> 1479[label="",style="dashed", color="magenta", weight=3]; 1463 -> 1480[label="",style="dashed", color="magenta", weight=3]; 2647[label="vuz400",fontsize=16,color="green",shape="box"];2648[label="vuz300",fontsize=16,color="green",shape="box"];2641 -> 223[label="",style="dashed", color="red", weight=0]; 2641[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2641 -> 2657[label="",style="dashed", color="magenta", weight=3]; 2641 -> 2658[label="",style="dashed", color="magenta", weight=3]; 1501[label="gcd2 (primEqInt (primMulInt vuz30 vuz40) (fromInt (Pos Zero))) (primMulInt vuz30 vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3210[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];1501 -> 3210[label="",style="solid", color="burlywood", weight=9]; 3210 -> 1513[label="",style="solid", color="burlywood", weight=3]; 3211[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];1501 -> 3211[label="",style="solid", color="burlywood", weight=9]; 3211 -> 1514[label="",style="solid", color="burlywood", weight=3]; 1502[label="primDivNatS (Succ vuz390) (Succ vuz4000)",fontsize=16,color="black",shape="box"];1502 -> 1515[label="",style="solid", color="black", weight=3]; 1503[label="primDivNatS Zero (Succ vuz4000)",fontsize=16,color="black",shape="box"];1503 -> 1516[label="",style="solid", color="black", weight=3]; 1504[label="vuz4000",fontsize=16,color="green",shape="box"];2649[label="vuz400",fontsize=16,color="green",shape="box"];2650[label="vuz300",fontsize=16,color="green",shape="box"];2651[label="gcd (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="box"];2651 -> 2672[label="",style="solid", color="black", weight=3]; 1471[label="vuz400",fontsize=16,color="green",shape="box"];1472[label="vuz300",fontsize=16,color="green",shape="box"];1473[label="gcd (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="box"];1473 -> 1491[label="",style="solid", color="black", weight=3]; 1474[label="vuz400",fontsize=16,color="green",shape="box"];1475[label="vuz300",fontsize=16,color="green",shape="box"];2652[label="vuz400",fontsize=16,color="green",shape="box"];2653[label="vuz300",fontsize=16,color="green",shape="box"];2701[label="gcd2 (primEqInt (primMulInt (Pos vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3212[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];2701 -> 3212[label="",style="solid", color="burlywood", weight=9]; 3212 -> 2712[label="",style="solid", color="burlywood", weight=3]; 3213[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];2701 -> 3213[label="",style="solid", color="burlywood", weight=9]; 3213 -> 2713[label="",style="solid", color="burlywood", weight=3]; 2702[label="gcd2 (primEqInt (primMulInt (Neg vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3214[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];2702 -> 3214[label="",style="solid", color="burlywood", weight=9]; 3214 -> 2714[label="",style="solid", color="burlywood", weight=3]; 3215[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];2702 -> 3215[label="",style="solid", color="burlywood", weight=9]; 3215 -> 2715[label="",style="solid", color="burlywood", weight=3]; 2654[label="vuz400",fontsize=16,color="green",shape="box"];2655[label="vuz300",fontsize=16,color="green",shape="box"];2656[label="gcd (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="box"];2656 -> 2673[label="",style="solid", color="black", weight=3]; 1476[label="vuz400",fontsize=16,color="green",shape="box"];1477[label="vuz300",fontsize=16,color="green",shape="box"];1478[label="gcd (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="box"];1478 -> 1492[label="",style="solid", color="black", weight=3]; 1479[label="vuz400",fontsize=16,color="green",shape="box"];1480[label="vuz300",fontsize=16,color="green",shape="box"];2657[label="vuz400",fontsize=16,color="green",shape="box"];2658[label="vuz300",fontsize=16,color="green",shape="box"];1513[label="gcd2 (primEqInt (primMulInt (Pos vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3216[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];1513 -> 3216[label="",style="solid", color="burlywood", weight=9]; 3216 -> 1525[label="",style="solid", color="burlywood", weight=3]; 3217[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];1513 -> 3217[label="",style="solid", color="burlywood", weight=9]; 3217 -> 1526[label="",style="solid", color="burlywood", weight=3]; 1514[label="gcd2 (primEqInt (primMulInt (Neg vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3218[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];1514 -> 3218[label="",style="solid", color="burlywood", weight=9]; 3218 -> 1527[label="",style="solid", color="burlywood", weight=3]; 3219[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];1514 -> 3219[label="",style="solid", color="burlywood", weight=9]; 3219 -> 1528[label="",style="solid", color="burlywood", weight=3]; 1515[label="primDivNatS0 vuz390 vuz4000 (primGEqNatS vuz390 vuz4000)",fontsize=16,color="burlywood",shape="box"];3220[label="vuz390/Succ vuz3900",fontsize=10,color="white",style="solid",shape="box"];1515 -> 3220[label="",style="solid", color="burlywood", weight=9]; 3220 -> 1529[label="",style="solid", color="burlywood", weight=3]; 3221[label="vuz390/Zero",fontsize=10,color="white",style="solid",shape="box"];1515 -> 3221[label="",style="solid", color="burlywood", weight=9]; 3221 -> 1530[label="",style="solid", color="burlywood", weight=3]; 1516[label="Zero",fontsize=16,color="green",shape="box"];2672[label="gcd3 (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="box"];2672 -> 2690[label="",style="solid", color="black", weight=3]; 1491[label="gcd3 (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="box"];1491 -> 1505[label="",style="solid", color="black", weight=3]; 2712[label="gcd2 (primEqInt (primMulInt (Pos vuz300) (Pos vuz400)) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) (Pos vuz400)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2712 -> 2728[label="",style="solid", color="black", weight=3]; 2713[label="gcd2 (primEqInt (primMulInt (Pos vuz300) (Neg vuz400)) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) (Neg vuz400)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2713 -> 2729[label="",style="solid", color="black", weight=3]; 2714[label="gcd2 (primEqInt (primMulInt (Neg vuz300) (Pos vuz400)) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) (Pos vuz400)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2714 -> 2730[label="",style="solid", color="black", weight=3]; 2715[label="gcd2 (primEqInt (primMulInt (Neg vuz300) (Neg vuz400)) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) (Neg vuz400)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2715 -> 2731[label="",style="solid", color="black", weight=3]; 2673[label="gcd3 (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="box"];2673 -> 2691[label="",style="solid", color="black", weight=3]; 1492[label="gcd3 (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="box"];1492 -> 1506[label="",style="solid", color="black", weight=3]; 1525[label="gcd2 (primEqInt (primMulInt (Pos vuz300) (Pos vuz400)) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) (Pos vuz400)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1525 -> 1542[label="",style="solid", color="black", weight=3]; 1526[label="gcd2 (primEqInt (primMulInt (Pos vuz300) (Neg vuz400)) (fromInt (Pos Zero))) (primMulInt (Pos vuz300) (Neg vuz400)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1526 -> 1543[label="",style="solid", color="black", weight=3]; 1527[label="gcd2 (primEqInt (primMulInt (Neg vuz300) (Pos vuz400)) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) (Pos vuz400)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1527 -> 1544[label="",style="solid", color="black", weight=3]; 1528[label="gcd2 (primEqInt (primMulInt (Neg vuz300) (Neg vuz400)) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) (Neg vuz400)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1528 -> 1545[label="",style="solid", color="black", weight=3]; 1529[label="primDivNatS0 (Succ vuz3900) vuz4000 (primGEqNatS (Succ vuz3900) vuz4000)",fontsize=16,color="burlywood",shape="box"];3222[label="vuz4000/Succ vuz40000",fontsize=10,color="white",style="solid",shape="box"];1529 -> 3222[label="",style="solid", color="burlywood", weight=9]; 3222 -> 1546[label="",style="solid", color="burlywood", weight=3]; 3223[label="vuz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];1529 -> 3223[label="",style="solid", color="burlywood", weight=9]; 3223 -> 1547[label="",style="solid", color="burlywood", weight=3]; 1530[label="primDivNatS0 Zero vuz4000 (primGEqNatS Zero vuz4000)",fontsize=16,color="burlywood",shape="box"];3224[label="vuz4000/Succ vuz40000",fontsize=10,color="white",style="solid",shape="box"];1530 -> 3224[label="",style="solid", color="burlywood", weight=9]; 3224 -> 1548[label="",style="solid", color="burlywood", weight=3]; 3225[label="vuz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];1530 -> 3225[label="",style="solid", color="burlywood", weight=9]; 3225 -> 1549[label="",style="solid", color="burlywood", weight=3]; 2690[label="gcd2 (Pos vuz84 == fromInt (Pos Zero)) (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="box"];2690 -> 2703[label="",style="solid", color="black", weight=3]; 1505[label="gcd2 (Neg vuz41 == fromInt (Pos Zero)) (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="box"];1505 -> 1517[label="",style="solid", color="black", weight=3]; 2728 -> 2703[label="",style="dashed", color="red", weight=0]; 2728[label="gcd2 (primEqInt (Pos (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2728 -> 2743[label="",style="dashed", color="magenta", weight=3]; 2729 -> 1517[label="",style="dashed", color="red", weight=0]; 2729[label="gcd2 (primEqInt (Neg (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2729 -> 2744[label="",style="dashed", color="magenta", weight=3]; 2730 -> 1517[label="",style="dashed", color="red", weight=0]; 2730[label="gcd2 (primEqInt (Neg (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2730 -> 2745[label="",style="dashed", color="magenta", weight=3]; 2731 -> 2703[label="",style="dashed", color="red", weight=0]; 2731[label="gcd2 (primEqInt (Pos (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2731 -> 2746[label="",style="dashed", color="magenta", weight=3]; 2691[label="gcd2 (Pos vuz85 == fromInt (Pos Zero)) (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="box"];2691 -> 2704[label="",style="solid", color="black", weight=3]; 1506[label="gcd2 (Neg vuz42 == fromInt (Pos Zero)) (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="box"];1506 -> 1518[label="",style="solid", color="black", weight=3]; 1542 -> 1559[label="",style="dashed", color="red", weight=0]; 1542[label="gcd2 (primEqInt (Pos (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1542 -> 1560[label="",style="dashed", color="magenta", weight=3]; 1542 -> 1561[label="",style="dashed", color="magenta", weight=3]; 1543 -> 1518[label="",style="dashed", color="red", weight=0]; 1543[label="gcd2 (primEqInt (Neg (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1543 -> 1564[label="",style="dashed", color="magenta", weight=3]; 1544 -> 1518[label="",style="dashed", color="red", weight=0]; 1544[label="gcd2 (primEqInt (Neg (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1544 -> 1565[label="",style="dashed", color="magenta", weight=3]; 1545 -> 1559[label="",style="dashed", color="red", weight=0]; 1545[label="gcd2 (primEqInt (Pos (primMulNat vuz300 vuz400)) (fromInt (Pos Zero))) (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1545 -> 1562[label="",style="dashed", color="magenta", weight=3]; 1545 -> 1563[label="",style="dashed", color="magenta", weight=3]; 1546[label="primDivNatS0 (Succ vuz3900) (Succ vuz40000) (primGEqNatS (Succ vuz3900) (Succ vuz40000))",fontsize=16,color="black",shape="box"];1546 -> 1566[label="",style="solid", color="black", weight=3]; 1547[label="primDivNatS0 (Succ vuz3900) Zero (primGEqNatS (Succ vuz3900) Zero)",fontsize=16,color="black",shape="box"];1547 -> 1567[label="",style="solid", color="black", weight=3]; 1548[label="primDivNatS0 Zero (Succ vuz40000) (primGEqNatS Zero (Succ vuz40000))",fontsize=16,color="black",shape="box"];1548 -> 1568[label="",style="solid", color="black", weight=3]; 1549[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1549 -> 1569[label="",style="solid", color="black", weight=3]; 2703[label="gcd2 (primEqInt (Pos vuz84) (fromInt (Pos Zero))) (Pos vuz84) (Pos vuz16)",fontsize=16,color="burlywood",shape="triangle"];3226[label="vuz84/Succ vuz840",fontsize=10,color="white",style="solid",shape="box"];2703 -> 3226[label="",style="solid", color="burlywood", weight=9]; 3226 -> 2716[label="",style="solid", color="burlywood", weight=3]; 3227[label="vuz84/Zero",fontsize=10,color="white",style="solid",shape="box"];2703 -> 3227[label="",style="solid", color="burlywood", weight=9]; 3227 -> 2717[label="",style="solid", color="burlywood", weight=3]; 1517[label="gcd2 (primEqInt (Neg vuz41) (fromInt (Pos Zero))) (Neg vuz41) (Pos vuz16)",fontsize=16,color="burlywood",shape="triangle"];3228[label="vuz41/Succ vuz410",fontsize=10,color="white",style="solid",shape="box"];1517 -> 3228[label="",style="solid", color="burlywood", weight=9]; 3228 -> 1531[label="",style="solid", color="burlywood", weight=3]; 3229[label="vuz41/Zero",fontsize=10,color="white",style="solid",shape="box"];1517 -> 3229[label="",style="solid", color="burlywood", weight=9]; 3229 -> 1532[label="",style="solid", color="burlywood", weight=3]; 2743 -> 223[label="",style="dashed", color="red", weight=0]; 2743[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2743 -> 2759[label="",style="dashed", color="magenta", weight=3]; 2743 -> 2760[label="",style="dashed", color="magenta", weight=3]; 2744 -> 223[label="",style="dashed", color="red", weight=0]; 2744[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2744 -> 2761[label="",style="dashed", color="magenta", weight=3]; 2744 -> 2762[label="",style="dashed", color="magenta", weight=3]; 2745 -> 223[label="",style="dashed", color="red", weight=0]; 2745[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2745 -> 2763[label="",style="dashed", color="magenta", weight=3]; 2745 -> 2764[label="",style="dashed", color="magenta", weight=3]; 2746 -> 223[label="",style="dashed", color="red", weight=0]; 2746[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2746 -> 2765[label="",style="dashed", color="magenta", weight=3]; 2746 -> 2766[label="",style="dashed", color="magenta", weight=3]; 2704 -> 1559[label="",style="dashed", color="red", weight=0]; 2704[label="gcd2 (primEqInt (Pos vuz85) (fromInt (Pos Zero))) (Pos vuz85) (Neg vuz19)",fontsize=16,color="magenta"];2704 -> 2718[label="",style="dashed", color="magenta", weight=3]; 2704 -> 2719[label="",style="dashed", color="magenta", weight=3]; 1518[label="gcd2 (primEqInt (Neg vuz42) (fromInt (Pos Zero))) (Neg vuz42) (Neg vuz19)",fontsize=16,color="burlywood",shape="triangle"];3230[label="vuz42/Succ vuz420",fontsize=10,color="white",style="solid",shape="box"];1518 -> 3230[label="",style="solid", color="burlywood", weight=9]; 3230 -> 1533[label="",style="solid", color="burlywood", weight=3]; 3231[label="vuz42/Zero",fontsize=10,color="white",style="solid",shape="box"];1518 -> 3231[label="",style="solid", color="burlywood", weight=9]; 3231 -> 1534[label="",style="solid", color="burlywood", weight=3]; 1560 -> 223[label="",style="dashed", color="red", weight=0]; 1560[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1560 -> 1570[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1571[label="",style="dashed", color="magenta", weight=3]; 1561 -> 223[label="",style="dashed", color="red", weight=0]; 1561[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1561 -> 1572[label="",style="dashed", color="magenta", weight=3]; 1561 -> 1573[label="",style="dashed", color="magenta", weight=3]; 1559[label="gcd2 (primEqInt (Pos vuz44) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="burlywood",shape="triangle"];3232[label="vuz44/Succ vuz440",fontsize=10,color="white",style="solid",shape="box"];1559 -> 3232[label="",style="solid", color="burlywood", weight=9]; 3232 -> 1574[label="",style="solid", color="burlywood", weight=3]; 3233[label="vuz44/Zero",fontsize=10,color="white",style="solid",shape="box"];1559 -> 3233[label="",style="solid", color="burlywood", weight=9]; 3233 -> 1575[label="",style="solid", color="burlywood", weight=3]; 1564 -> 223[label="",style="dashed", color="red", weight=0]; 1564[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1564 -> 1588[label="",style="dashed", color="magenta", weight=3]; 1564 -> 1589[label="",style="dashed", color="magenta", weight=3]; 1565 -> 223[label="",style="dashed", color="red", weight=0]; 1565[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1565 -> 1590[label="",style="dashed", color="magenta", weight=3]; 1565 -> 1591[label="",style="dashed", color="magenta", weight=3]; 1562 -> 223[label="",style="dashed", color="red", weight=0]; 1562[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1562 -> 1576[label="",style="dashed", color="magenta", weight=3]; 1562 -> 1577[label="",style="dashed", color="magenta", weight=3]; 1563 -> 223[label="",style="dashed", color="red", weight=0]; 1563[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1563 -> 1578[label="",style="dashed", color="magenta", weight=3]; 1563 -> 1579[label="",style="dashed", color="magenta", weight=3]; 1566 -> 2163[label="",style="dashed", color="red", weight=0]; 1566[label="primDivNatS0 (Succ vuz3900) (Succ vuz40000) (primGEqNatS vuz3900 vuz40000)",fontsize=16,color="magenta"];1566 -> 2164[label="",style="dashed", color="magenta", weight=3]; 1566 -> 2165[label="",style="dashed", color="magenta", weight=3]; 1566 -> 2166[label="",style="dashed", color="magenta", weight=3]; 1566 -> 2167[label="",style="dashed", color="magenta", weight=3]; 1567[label="primDivNatS0 (Succ vuz3900) Zero True",fontsize=16,color="black",shape="box"];1567 -> 1594[label="",style="solid", color="black", weight=3]; 1568[label="primDivNatS0 Zero (Succ vuz40000) False",fontsize=16,color="black",shape="box"];1568 -> 1595[label="",style="solid", color="black", weight=3]; 1569[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];1569 -> 1596[label="",style="solid", color="black", weight=3]; 2716[label="gcd2 (primEqInt (Pos (Succ vuz840)) (fromInt (Pos Zero))) (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2716 -> 2732[label="",style="solid", color="black", weight=3]; 2717[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2717 -> 2733[label="",style="solid", color="black", weight=3]; 1531[label="gcd2 (primEqInt (Neg (Succ vuz410)) (fromInt (Pos Zero))) (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1531 -> 1550[label="",style="solid", color="black", weight=3]; 1532[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1532 -> 1551[label="",style="solid", color="black", weight=3]; 2759[label="vuz400",fontsize=16,color="green",shape="box"];2760[label="vuz300",fontsize=16,color="green",shape="box"];2761[label="vuz400",fontsize=16,color="green",shape="box"];2762[label="vuz300",fontsize=16,color="green",shape="box"];2763[label="vuz400",fontsize=16,color="green",shape="box"];2764[label="vuz300",fontsize=16,color="green",shape="box"];2765[label="vuz400",fontsize=16,color="green",shape="box"];2766[label="vuz300",fontsize=16,color="green",shape="box"];2718[label="vuz85",fontsize=16,color="green",shape="box"];2719[label="vuz85",fontsize=16,color="green",shape="box"];1533[label="gcd2 (primEqInt (Neg (Succ vuz420)) (fromInt (Pos Zero))) (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1533 -> 1552[label="",style="solid", color="black", weight=3]; 1534[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1534 -> 1553[label="",style="solid", color="black", weight=3]; 1570[label="vuz400",fontsize=16,color="green",shape="box"];1571[label="vuz300",fontsize=16,color="green",shape="box"];1572[label="vuz400",fontsize=16,color="green",shape="box"];1573[label="vuz300",fontsize=16,color="green",shape="box"];1574[label="gcd2 (primEqInt (Pos (Succ vuz440)) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1574 -> 1597[label="",style="solid", color="black", weight=3]; 1575[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1575 -> 1598[label="",style="solid", color="black", weight=3]; 1588[label="vuz400",fontsize=16,color="green",shape="box"];1589[label="vuz300",fontsize=16,color="green",shape="box"];1590[label="vuz400",fontsize=16,color="green",shape="box"];1591[label="vuz300",fontsize=16,color="green",shape="box"];1576[label="vuz400",fontsize=16,color="green",shape="box"];1577[label="vuz300",fontsize=16,color="green",shape="box"];1578[label="vuz400",fontsize=16,color="green",shape="box"];1579[label="vuz300",fontsize=16,color="green",shape="box"];2164[label="vuz40000",fontsize=16,color="green",shape="box"];2165[label="vuz40000",fontsize=16,color="green",shape="box"];2166[label="vuz3900",fontsize=16,color="green",shape="box"];2167[label="vuz3900",fontsize=16,color="green",shape="box"];2163[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS vuz81 vuz82)",fontsize=16,color="burlywood",shape="triangle"];3234[label="vuz81/Succ vuz810",fontsize=10,color="white",style="solid",shape="box"];2163 -> 3234[label="",style="solid", color="burlywood", weight=9]; 3234 -> 2204[label="",style="solid", color="burlywood", weight=3]; 3235[label="vuz81/Zero",fontsize=10,color="white",style="solid",shape="box"];2163 -> 3235[label="",style="solid", color="burlywood", weight=9]; 3235 -> 2205[label="",style="solid", color="burlywood", weight=3]; 1594[label="Succ (primDivNatS (primMinusNatS (Succ vuz3900) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];1594 -> 1611[label="",style="dashed", color="green", weight=3]; 1595[label="Zero",fontsize=16,color="green",shape="box"];1596[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];1596 -> 1612[label="",style="dashed", color="green", weight=3]; 2732[label="gcd2 (primEqInt (Pos (Succ vuz840)) (Pos Zero)) (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2732 -> 2747[label="",style="solid", color="black", weight=3]; 2733[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2733 -> 2748[label="",style="solid", color="black", weight=3]; 1550[label="gcd2 (primEqInt (Neg (Succ vuz410)) (Pos Zero)) (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1550 -> 1580[label="",style="solid", color="black", weight=3]; 1551[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1551 -> 1581[label="",style="solid", color="black", weight=3]; 1552[label="gcd2 (primEqInt (Neg (Succ vuz420)) (Pos Zero)) (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1552 -> 1582[label="",style="solid", color="black", weight=3]; 1553[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1553 -> 1583[label="",style="solid", color="black", weight=3]; 1597[label="gcd2 (primEqInt (Pos (Succ vuz440)) (Pos Zero)) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1597 -> 1613[label="",style="solid", color="black", weight=3]; 1598[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1598 -> 1614[label="",style="solid", color="black", weight=3]; 2204[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS (Succ vuz810) vuz82)",fontsize=16,color="burlywood",shape="box"];3236[label="vuz82/Succ vuz820",fontsize=10,color="white",style="solid",shape="box"];2204 -> 3236[label="",style="solid", color="burlywood", weight=9]; 3236 -> 2659[label="",style="solid", color="burlywood", weight=3]; 3237[label="vuz82/Zero",fontsize=10,color="white",style="solid",shape="box"];2204 -> 3237[label="",style="solid", color="burlywood", weight=9]; 3237 -> 2660[label="",style="solid", color="burlywood", weight=3]; 2205[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS Zero vuz82)",fontsize=16,color="burlywood",shape="box"];3238[label="vuz82/Succ vuz820",fontsize=10,color="white",style="solid",shape="box"];2205 -> 3238[label="",style="solid", color="burlywood", weight=9]; 3238 -> 2661[label="",style="solid", color="burlywood", weight=3]; 3239[label="vuz82/Zero",fontsize=10,color="white",style="solid",shape="box"];2205 -> 3239[label="",style="solid", color="burlywood", weight=9]; 3239 -> 2662[label="",style="solid", color="burlywood", weight=3]; 1611 -> 1488[label="",style="dashed", color="red", weight=0]; 1611[label="primDivNatS (primMinusNatS (Succ vuz3900) Zero) (Succ Zero)",fontsize=16,color="magenta"];1611 -> 1627[label="",style="dashed", color="magenta", weight=3]; 1611 -> 1628[label="",style="dashed", color="magenta", weight=3]; 1612 -> 1488[label="",style="dashed", color="red", weight=0]; 1612[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];1612 -> 1629[label="",style="dashed", color="magenta", weight=3]; 1612 -> 1630[label="",style="dashed", color="magenta", weight=3]; 2747[label="gcd2 False (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2747 -> 2767[label="",style="solid", color="black", weight=3]; 2748[label="gcd2 True (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2748 -> 2768[label="",style="solid", color="black", weight=3]; 1580[label="gcd2 False (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1580 -> 1599[label="",style="solid", color="black", weight=3]; 1581[label="gcd2 True (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1581 -> 1600[label="",style="solid", color="black", weight=3]; 1582[label="gcd2 False (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1582 -> 1601[label="",style="solid", color="black", weight=3]; 1583[label="gcd2 True (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1583 -> 1602[label="",style="solid", color="black", weight=3]; 1613[label="gcd2 False (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1613 -> 1631[label="",style="solid", color="black", weight=3]; 1614[label="gcd2 True (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1614 -> 1632[label="",style="solid", color="black", weight=3]; 2659[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS (Succ vuz810) (Succ vuz820))",fontsize=16,color="black",shape="box"];2659 -> 2674[label="",style="solid", color="black", weight=3]; 2660[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS (Succ vuz810) Zero)",fontsize=16,color="black",shape="box"];2660 -> 2675[label="",style="solid", color="black", weight=3]; 2661[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS Zero (Succ vuz820))",fontsize=16,color="black",shape="box"];2661 -> 2676[label="",style="solid", color="black", weight=3]; 2662[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2662 -> 2677[label="",style="solid", color="black", weight=3]; 1627[label="primMinusNatS (Succ vuz3900) Zero",fontsize=16,color="black",shape="triangle"];1627 -> 1648[label="",style="solid", color="black", weight=3]; 1628[label="Zero",fontsize=16,color="green",shape="box"];1629[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];1629 -> 1649[label="",style="solid", color="black", weight=3]; 1630[label="Zero",fontsize=16,color="green",shape="box"];2767[label="gcd0 (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2767 -> 2783[label="",style="solid", color="black", weight=3]; 2768[label="gcd1 (Pos vuz16 == fromInt (Pos Zero)) (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2768 -> 2784[label="",style="solid", color="black", weight=3]; 1599[label="gcd0 (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1599 -> 1615[label="",style="solid", color="black", weight=3]; 1600[label="gcd1 (Pos vuz16 == fromInt (Pos Zero)) (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1600 -> 1616[label="",style="solid", color="black", weight=3]; 1601[label="gcd0 (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1601 -> 1617[label="",style="solid", color="black", weight=3]; 1602[label="gcd1 (Neg vuz19 == fromInt (Pos Zero)) (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1602 -> 1618[label="",style="solid", color="black", weight=3]; 1631[label="gcd0 (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];1631 -> 1650[label="",style="solid", color="black", weight=3]; 1632[label="gcd1 (Neg vuz19 == fromInt (Pos Zero)) (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1632 -> 1651[label="",style="solid", color="black", weight=3]; 2674 -> 2163[label="",style="dashed", color="red", weight=0]; 2674[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS vuz810 vuz820)",fontsize=16,color="magenta"];2674 -> 2692[label="",style="dashed", color="magenta", weight=3]; 2674 -> 2693[label="",style="dashed", color="magenta", weight=3]; 2675[label="primDivNatS0 (Succ vuz79) (Succ vuz80) True",fontsize=16,color="black",shape="triangle"];2675 -> 2694[label="",style="solid", color="black", weight=3]; 2676[label="primDivNatS0 (Succ vuz79) (Succ vuz80) False",fontsize=16,color="black",shape="box"];2676 -> 2695[label="",style="solid", color="black", weight=3]; 2677 -> 2675[label="",style="dashed", color="red", weight=0]; 2677[label="primDivNatS0 (Succ vuz79) (Succ vuz80) True",fontsize=16,color="magenta"];1648[label="Succ vuz3900",fontsize=16,color="green",shape="box"];1649[label="Zero",fontsize=16,color="green",shape="box"];2783 -> 2802[label="",style="dashed", color="red", weight=0]; 2783[label="gcd0Gcd' (abs (Pos (Succ vuz840))) (abs (Pos vuz16))",fontsize=16,color="magenta"];2783 -> 2803[label="",style="dashed", color="magenta", weight=3]; 2783 -> 2804[label="",style="dashed", color="magenta", weight=3]; 2784[label="gcd1 (primEqInt (Pos vuz16) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3240[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];2784 -> 3240[label="",style="solid", color="burlywood", weight=9]; 3240 -> 2817[label="",style="solid", color="burlywood", weight=3]; 3241[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];2784 -> 3241[label="",style="solid", color="burlywood", weight=9]; 3241 -> 2818[label="",style="solid", color="burlywood", weight=3]; 1615 -> 2802[label="",style="dashed", color="red", weight=0]; 1615[label="gcd0Gcd' (abs (Neg (Succ vuz410))) (abs (Pos vuz16))",fontsize=16,color="magenta"];1615 -> 2805[label="",style="dashed", color="magenta", weight=3]; 1615 -> 2806[label="",style="dashed", color="magenta", weight=3]; 1616[label="gcd1 (primEqInt (Pos vuz16) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3242[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];1616 -> 3242[label="",style="solid", color="burlywood", weight=9]; 3242 -> 1634[label="",style="solid", color="burlywood", weight=3]; 3243[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];1616 -> 3243[label="",style="solid", color="burlywood", weight=9]; 3243 -> 1635[label="",style="solid", color="burlywood", weight=3]; 1617 -> 2802[label="",style="dashed", color="red", weight=0]; 1617[label="gcd0Gcd' (abs (Neg (Succ vuz420))) (abs (Neg vuz19))",fontsize=16,color="magenta"];1617 -> 2807[label="",style="dashed", color="magenta", weight=3]; 1617 -> 2808[label="",style="dashed", color="magenta", weight=3]; 1618[label="gcd1 (primEqInt (Neg vuz19) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3244[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];1618 -> 3244[label="",style="solid", color="burlywood", weight=9]; 3244 -> 1637[label="",style="solid", color="burlywood", weight=3]; 3245[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];1618 -> 3245[label="",style="solid", color="burlywood", weight=9]; 3245 -> 1638[label="",style="solid", color="burlywood", weight=3]; 1650 -> 2802[label="",style="dashed", color="red", weight=0]; 1650[label="gcd0Gcd' (abs (Pos vuz43)) (abs (Neg vuz19))",fontsize=16,color="magenta"];1650 -> 2809[label="",style="dashed", color="magenta", weight=3]; 1650 -> 2810[label="",style="dashed", color="magenta", weight=3]; 1651[label="gcd1 (primEqInt (Neg vuz19) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3246[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];1651 -> 3246[label="",style="solid", color="burlywood", weight=9]; 3246 -> 1670[label="",style="solid", color="burlywood", weight=3]; 3247[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];1651 -> 3247[label="",style="solid", color="burlywood", weight=9]; 3247 -> 1671[label="",style="solid", color="burlywood", weight=3]; 2692[label="vuz820",fontsize=16,color="green",shape="box"];2693[label="vuz810",fontsize=16,color="green",shape="box"];2694[label="Succ (primDivNatS (primMinusNatS (Succ vuz79) (Succ vuz80)) (Succ (Succ vuz80)))",fontsize=16,color="green",shape="box"];2694 -> 2705[label="",style="dashed", color="green", weight=3]; 2695[label="Zero",fontsize=16,color="green",shape="box"];2803[label="abs (Pos vuz16)",fontsize=16,color="black",shape="triangle"];2803 -> 2819[label="",style="solid", color="black", weight=3]; 2804 -> 2803[label="",style="dashed", color="red", weight=0]; 2804[label="abs (Pos (Succ vuz840))",fontsize=16,color="magenta"];2804 -> 2820[label="",style="dashed", color="magenta", weight=3]; 2802[label="gcd0Gcd' vuz87 vuz86",fontsize=16,color="black",shape="triangle"];2802 -> 2821[label="",style="solid", color="black", weight=3]; 2817[label="gcd1 (primEqInt (Pos (Succ vuz160)) (fromInt (Pos Zero))) (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2817 -> 2832[label="",style="solid", color="black", weight=3]; 2818[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2818 -> 2833[label="",style="solid", color="black", weight=3]; 2805 -> 2803[label="",style="dashed", color="red", weight=0]; 2805[label="abs (Pos vuz16)",fontsize=16,color="magenta"];2806[label="abs (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2806 -> 2822[label="",style="solid", color="black", weight=3]; 1634[label="gcd1 (primEqInt (Pos (Succ vuz160)) (fromInt (Pos Zero))) (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1634 -> 1653[label="",style="solid", color="black", weight=3]; 1635[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1635 -> 1654[label="",style="solid", color="black", weight=3]; 2807[label="abs (Neg vuz19)",fontsize=16,color="black",shape="triangle"];2807 -> 2823[label="",style="solid", color="black", weight=3]; 2808 -> 2807[label="",style="dashed", color="red", weight=0]; 2808[label="abs (Neg (Succ vuz420))",fontsize=16,color="magenta"];2808 -> 2824[label="",style="dashed", color="magenta", weight=3]; 1637[label="gcd1 (primEqInt (Neg (Succ vuz190)) (fromInt (Pos Zero))) (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1637 -> 1656[label="",style="solid", color="black", weight=3]; 1638[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];1638 -> 1657[label="",style="solid", color="black", weight=3]; 2809 -> 2807[label="",style="dashed", color="red", weight=0]; 2809[label="abs (Neg vuz19)",fontsize=16,color="magenta"];2810 -> 2803[label="",style="dashed", color="red", weight=0]; 2810[label="abs (Pos vuz43)",fontsize=16,color="magenta"];2810 -> 2825[label="",style="dashed", color="magenta", weight=3]; 1670[label="gcd1 (primEqInt (Neg (Succ vuz190)) (fromInt (Pos Zero))) (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1670 -> 1694[label="",style="solid", color="black", weight=3]; 1671[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Pos vuz43) (Neg Zero)",fontsize=16,color="black",shape="box"];1671 -> 1695[label="",style="solid", color="black", weight=3]; 2705 -> 1488[label="",style="dashed", color="red", weight=0]; 2705[label="primDivNatS (primMinusNatS (Succ vuz79) (Succ vuz80)) (Succ (Succ vuz80))",fontsize=16,color="magenta"];2705 -> 2720[label="",style="dashed", color="magenta", weight=3]; 2705 -> 2721[label="",style="dashed", color="magenta", weight=3]; 2819[label="absReal (Pos vuz16)",fontsize=16,color="black",shape="box"];2819 -> 2834[label="",style="solid", color="black", weight=3]; 2820[label="Succ vuz840",fontsize=16,color="green",shape="box"];2821[label="gcd0Gcd'2 vuz87 vuz86",fontsize=16,color="black",shape="box"];2821 -> 2835[label="",style="solid", color="black", weight=3]; 2832[label="gcd1 (primEqInt (Pos (Succ vuz160)) (Pos Zero)) (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2832 -> 2838[label="",style="solid", color="black", weight=3]; 2833[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2833 -> 2839[label="",style="solid", color="black", weight=3]; 2822[label="absReal (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2822 -> 2836[label="",style="solid", color="black", weight=3]; 1653[label="gcd1 (primEqInt (Pos (Succ vuz160)) (Pos Zero)) (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1653 -> 1673[label="",style="solid", color="black", weight=3]; 1654[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1654 -> 1674[label="",style="solid", color="black", weight=3]; 2823[label="absReal (Neg vuz19)",fontsize=16,color="black",shape="box"];2823 -> 2837[label="",style="solid", color="black", weight=3]; 2824[label="Succ vuz420",fontsize=16,color="green",shape="box"];1656[label="gcd1 (primEqInt (Neg (Succ vuz190)) (Pos Zero)) (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1656 -> 1676[label="",style="solid", color="black", weight=3]; 1657[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];1657 -> 1677[label="",style="solid", color="black", weight=3]; 2825[label="vuz43",fontsize=16,color="green",shape="box"];1694[label="gcd1 (primEqInt (Neg (Succ vuz190)) (Pos Zero)) (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1694 -> 1716[label="",style="solid", color="black", weight=3]; 1695[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Pos vuz43) (Neg Zero)",fontsize=16,color="black",shape="box"];1695 -> 1717[label="",style="solid", color="black", weight=3]; 2720[label="primMinusNatS (Succ vuz79) (Succ vuz80)",fontsize=16,color="black",shape="box"];2720 -> 2734[label="",style="solid", color="black", weight=3]; 2721[label="Succ vuz80",fontsize=16,color="green",shape="box"];2834[label="absReal2 (Pos vuz16)",fontsize=16,color="black",shape="box"];2834 -> 2840[label="",style="solid", color="black", weight=3]; 2835[label="gcd0Gcd'1 (vuz86 == fromInt (Pos Zero)) vuz87 vuz86",fontsize=16,color="black",shape="box"];2835 -> 2841[label="",style="solid", color="black", weight=3]; 2838[label="gcd1 False (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2838 -> 2844[label="",style="solid", color="black", weight=3]; 2839[label="gcd1 True (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2839 -> 2845[label="",style="solid", color="black", weight=3]; 2836[label="absReal2 (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2836 -> 2842[label="",style="solid", color="black", weight=3]; 1673[label="gcd1 False (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1673 -> 1697[label="",style="solid", color="black", weight=3]; 1674[label="gcd1 True (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1674 -> 1698[label="",style="solid", color="black", weight=3]; 2837[label="absReal2 (Neg vuz19)",fontsize=16,color="black",shape="box"];2837 -> 2843[label="",style="solid", color="black", weight=3]; 1676[label="gcd1 False (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1676 -> 1700[label="",style="solid", color="black", weight=3]; 1677[label="gcd1 True (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];1677 -> 1701[label="",style="solid", color="black", weight=3]; 1716[label="gcd1 False (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1716 -> 1735[label="",style="solid", color="black", weight=3]; 1717[label="gcd1 True (Pos vuz43) (Neg Zero)",fontsize=16,color="black",shape="box"];1717 -> 1736[label="",style="solid", color="black", weight=3]; 2734[label="primMinusNatS vuz79 vuz80",fontsize=16,color="burlywood",shape="triangle"];3248[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];2734 -> 3248[label="",style="solid", color="burlywood", weight=9]; 3248 -> 2749[label="",style="solid", color="burlywood", weight=3]; 3249[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];2734 -> 3249[label="",style="solid", color="burlywood", weight=9]; 3249 -> 2750[label="",style="solid", color="burlywood", weight=3]; 2840[label="absReal1 (Pos vuz16) (Pos vuz16 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2840 -> 2846[label="",style="solid", color="black", weight=3]; 2841[label="gcd0Gcd'1 (primEqInt vuz86 (fromInt (Pos Zero))) vuz87 vuz86",fontsize=16,color="burlywood",shape="box"];3250[label="vuz86/Pos vuz860",fontsize=10,color="white",style="solid",shape="box"];2841 -> 3250[label="",style="solid", color="burlywood", weight=9]; 3250 -> 2847[label="",style="solid", color="burlywood", weight=3]; 3251[label="vuz86/Neg vuz860",fontsize=10,color="white",style="solid",shape="box"];2841 -> 3251[label="",style="solid", color="burlywood", weight=9]; 3251 -> 2848[label="",style="solid", color="burlywood", weight=3]; 2844[label="gcd0 (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2844 -> 2851[label="",style="solid", color="black", weight=3]; 2845 -> 1466[label="",style="dashed", color="red", weight=0]; 2845[label="error []",fontsize=16,color="magenta"];2842[label="absReal1 (Neg (Succ vuz410)) (Neg (Succ vuz410) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2842 -> 2849[label="",style="solid", color="black", weight=3]; 1697[label="gcd0 (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1697 -> 1719[label="",style="solid", color="black", weight=3]; 1698 -> 1466[label="",style="dashed", color="red", weight=0]; 1698[label="error []",fontsize=16,color="magenta"];2843[label="absReal1 (Neg vuz19) (Neg vuz19 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2843 -> 2850[label="",style="solid", color="black", weight=3]; 1700[label="gcd0 (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1700 -> 1721[label="",style="solid", color="black", weight=3]; 1701 -> 1466[label="",style="dashed", color="red", weight=0]; 1701[label="error []",fontsize=16,color="magenta"];1735 -> 1631[label="",style="dashed", color="red", weight=0]; 1735[label="gcd0 (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="magenta"];1735 -> 1759[label="",style="dashed", color="magenta", weight=3]; 1736 -> 1466[label="",style="dashed", color="red", weight=0]; 1736[label="error []",fontsize=16,color="magenta"];2749[label="primMinusNatS (Succ vuz790) vuz80",fontsize=16,color="burlywood",shape="box"];3252[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];2749 -> 3252[label="",style="solid", color="burlywood", weight=9]; 3252 -> 2769[label="",style="solid", color="burlywood", weight=3]; 3253[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];2749 -> 3253[label="",style="solid", color="burlywood", weight=9]; 3253 -> 2770[label="",style="solid", color="burlywood", weight=3]; 2750[label="primMinusNatS Zero vuz80",fontsize=16,color="burlywood",shape="box"];3254[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];2750 -> 3254[label="",style="solid", color="burlywood", weight=9]; 3254 -> 2771[label="",style="solid", color="burlywood", weight=3]; 3255[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];2750 -> 3255[label="",style="solid", color="burlywood", weight=9]; 3255 -> 2772[label="",style="solid", color="burlywood", weight=3]; 2846[label="absReal1 (Pos vuz16) (compare (Pos vuz16) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2846 -> 2852[label="",style="solid", color="black", weight=3]; 2847[label="gcd0Gcd'1 (primEqInt (Pos vuz860) (fromInt (Pos Zero))) vuz87 (Pos vuz860)",fontsize=16,color="burlywood",shape="box"];3256[label="vuz860/Succ vuz8600",fontsize=10,color="white",style="solid",shape="box"];2847 -> 3256[label="",style="solid", color="burlywood", weight=9]; 3256 -> 2853[label="",style="solid", color="burlywood", weight=3]; 3257[label="vuz860/Zero",fontsize=10,color="white",style="solid",shape="box"];2847 -> 3257[label="",style="solid", color="burlywood", weight=9]; 3257 -> 2854[label="",style="solid", color="burlywood", weight=3]; 2848[label="gcd0Gcd'1 (primEqInt (Neg vuz860) (fromInt (Pos Zero))) vuz87 (Neg vuz860)",fontsize=16,color="burlywood",shape="box"];3258[label="vuz860/Succ vuz8600",fontsize=10,color="white",style="solid",shape="box"];2848 -> 3258[label="",style="solid", color="burlywood", weight=9]; 3258 -> 2855[label="",style="solid", color="burlywood", weight=3]; 3259[label="vuz860/Zero",fontsize=10,color="white",style="solid",shape="box"];2848 -> 3259[label="",style="solid", color="burlywood", weight=9]; 3259 -> 2856[label="",style="solid", color="burlywood", weight=3]; 2851 -> 2802[label="",style="dashed", color="red", weight=0]; 2851[label="gcd0Gcd' (abs (Pos Zero)) (abs (Pos (Succ vuz160)))",fontsize=16,color="magenta"];2851 -> 2859[label="",style="dashed", color="magenta", weight=3]; 2851 -> 2860[label="",style="dashed", color="magenta", weight=3]; 2849[label="absReal1 (Neg (Succ vuz410)) (compare (Neg (Succ vuz410)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2849 -> 2857[label="",style="solid", color="black", weight=3]; 1719 -> 2802[label="",style="dashed", color="red", weight=0]; 1719[label="gcd0Gcd' (abs (Neg Zero)) (abs (Pos (Succ vuz160)))",fontsize=16,color="magenta"];1719 -> 2811[label="",style="dashed", color="magenta", weight=3]; 1719 -> 2812[label="",style="dashed", color="magenta", weight=3]; 2850[label="absReal1 (Neg vuz19) (compare (Neg vuz19) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2850 -> 2858[label="",style="solid", color="black", weight=3]; 1721 -> 2802[label="",style="dashed", color="red", weight=0]; 1721[label="gcd0Gcd' (abs (Neg Zero)) (abs (Neg (Succ vuz190)))",fontsize=16,color="magenta"];1721 -> 2813[label="",style="dashed", color="magenta", weight=3]; 1721 -> 2814[label="",style="dashed", color="magenta", weight=3]; 1759[label="Succ vuz190",fontsize=16,color="green",shape="box"];2769[label="primMinusNatS (Succ vuz790) (Succ vuz800)",fontsize=16,color="black",shape="box"];2769 -> 2785[label="",style="solid", color="black", weight=3]; 2770[label="primMinusNatS (Succ vuz790) Zero",fontsize=16,color="black",shape="box"];2770 -> 2786[label="",style="solid", color="black", weight=3]; 2771[label="primMinusNatS Zero (Succ vuz800)",fontsize=16,color="black",shape="box"];2771 -> 2787[label="",style="solid", color="black", weight=3]; 2772[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];2772 -> 2788[label="",style="solid", color="black", weight=3]; 2852[label="absReal1 (Pos vuz16) (not (compare (Pos vuz16) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2852 -> 2861[label="",style="solid", color="black", weight=3]; 2853[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz8600)) (fromInt (Pos Zero))) vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2853 -> 2862[label="",style="solid", color="black", weight=3]; 2854[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2854 -> 2863[label="",style="solid", color="black", weight=3]; 2855[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz8600)) (fromInt (Pos Zero))) vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2855 -> 2864[label="",style="solid", color="black", weight=3]; 2856[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2856 -> 2865[label="",style="solid", color="black", weight=3]; 2859 -> 2803[label="",style="dashed", color="red", weight=0]; 2859[label="abs (Pos (Succ vuz160))",fontsize=16,color="magenta"];2859 -> 2868[label="",style="dashed", color="magenta", weight=3]; 2860 -> 2803[label="",style="dashed", color="red", weight=0]; 2860[label="abs (Pos Zero)",fontsize=16,color="magenta"];2860 -> 2869[label="",style="dashed", color="magenta", weight=3]; 2857[label="absReal1 (Neg (Succ vuz410)) (not (compare (Neg (Succ vuz410)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2857 -> 2866[label="",style="solid", color="black", weight=3]; 2811 -> 2803[label="",style="dashed", color="red", weight=0]; 2811[label="abs (Pos (Succ vuz160))",fontsize=16,color="magenta"];2811 -> 2826[label="",style="dashed", color="magenta", weight=3]; 2812 -> 2807[label="",style="dashed", color="red", weight=0]; 2812[label="abs (Neg Zero)",fontsize=16,color="magenta"];2812 -> 2827[label="",style="dashed", color="magenta", weight=3]; 2858[label="absReal1 (Neg vuz19) (not (compare (Neg vuz19) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2858 -> 2867[label="",style="solid", color="black", weight=3]; 2813 -> 2807[label="",style="dashed", color="red", weight=0]; 2813[label="abs (Neg (Succ vuz190))",fontsize=16,color="magenta"];2813 -> 2828[label="",style="dashed", color="magenta", weight=3]; 2814 -> 2807[label="",style="dashed", color="red", weight=0]; 2814[label="abs (Neg Zero)",fontsize=16,color="magenta"];2814 -> 2829[label="",style="dashed", color="magenta", weight=3]; 2785 -> 2734[label="",style="dashed", color="red", weight=0]; 2785[label="primMinusNatS vuz790 vuz800",fontsize=16,color="magenta"];2785 -> 2830[label="",style="dashed", color="magenta", weight=3]; 2785 -> 2831[label="",style="dashed", color="magenta", weight=3]; 2786[label="Succ vuz790",fontsize=16,color="green",shape="box"];2787[label="Zero",fontsize=16,color="green",shape="box"];2788[label="Zero",fontsize=16,color="green",shape="box"];2861[label="absReal1 (Pos vuz16) (not (primCmpInt (Pos vuz16) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];3260[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];2861 -> 3260[label="",style="solid", color="burlywood", weight=9]; 3260 -> 2870[label="",style="solid", color="burlywood", weight=3]; 3261[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];2861 -> 3261[label="",style="solid", color="burlywood", weight=9]; 3261 -> 2871[label="",style="solid", color="burlywood", weight=3]; 2862[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz8600)) (Pos Zero)) vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2862 -> 2872[label="",style="solid", color="black", weight=3]; 2863[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2863 -> 2873[label="",style="solid", color="black", weight=3]; 2864[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz8600)) (Pos Zero)) vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2864 -> 2874[label="",style="solid", color="black", weight=3]; 2865[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2865 -> 2875[label="",style="solid", color="black", weight=3]; 2868[label="Succ vuz160",fontsize=16,color="green",shape="box"];2869[label="Zero",fontsize=16,color="green",shape="box"];2866[label="absReal1 (Neg (Succ vuz410)) (not (primCmpInt (Neg (Succ vuz410)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2866 -> 2876[label="",style="solid", color="black", weight=3]; 2826[label="Succ vuz160",fontsize=16,color="green",shape="box"];2827[label="Zero",fontsize=16,color="green",shape="box"];2867[label="absReal1 (Neg vuz19) (not (primCmpInt (Neg vuz19) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];3262[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];2867 -> 3262[label="",style="solid", color="burlywood", weight=9]; 3262 -> 2877[label="",style="solid", color="burlywood", weight=3]; 3263[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];2867 -> 3263[label="",style="solid", color="burlywood", weight=9]; 3263 -> 2878[label="",style="solid", color="burlywood", weight=3]; 2828[label="Succ vuz190",fontsize=16,color="green",shape="box"];2829[label="Zero",fontsize=16,color="green",shape="box"];2830[label="vuz800",fontsize=16,color="green",shape="box"];2831[label="vuz790",fontsize=16,color="green",shape="box"];2870[label="absReal1 (Pos (Succ vuz160)) (not (primCmpInt (Pos (Succ vuz160)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2870 -> 2879[label="",style="solid", color="black", weight=3]; 2871[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2871 -> 2880[label="",style="solid", color="black", weight=3]; 2872[label="gcd0Gcd'1 False vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2872 -> 2881[label="",style="solid", color="black", weight=3]; 2873[label="gcd0Gcd'1 True vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2873 -> 2882[label="",style="solid", color="black", weight=3]; 2874[label="gcd0Gcd'1 False vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2874 -> 2883[label="",style="solid", color="black", weight=3]; 2875[label="gcd0Gcd'1 True vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2875 -> 2884[label="",style="solid", color="black", weight=3]; 2876[label="absReal1 (Neg (Succ vuz410)) (not (primCmpInt (Neg (Succ vuz410)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];2876 -> 2885[label="",style="solid", color="black", weight=3]; 2877[label="absReal1 (Neg (Succ vuz190)) (not (primCmpInt (Neg (Succ vuz190)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2877 -> 2886[label="",style="solid", color="black", weight=3]; 2878[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2878 -> 2887[label="",style="solid", color="black", weight=3]; 2879[label="absReal1 (Pos (Succ vuz160)) (not (primCmpInt (Pos (Succ vuz160)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2879 -> 2888[label="",style="solid", color="black", weight=3]; 2880[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2880 -> 2889[label="",style="solid", color="black", weight=3]; 2881[label="gcd0Gcd'0 vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2881 -> 2890[label="",style="solid", color="black", weight=3]; 2882[label="vuz87",fontsize=16,color="green",shape="box"];2883[label="gcd0Gcd'0 vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2883 -> 2891[label="",style="solid", color="black", weight=3]; 2884[label="vuz87",fontsize=16,color="green",shape="box"];2885[label="absReal1 (Neg (Succ vuz410)) (not (LT == LT))",fontsize=16,color="black",shape="box"];2885 -> 2892[label="",style="solid", color="black", weight=3]; 2886 -> 2876[label="",style="dashed", color="red", weight=0]; 2886[label="absReal1 (Neg (Succ vuz190)) (not (primCmpInt (Neg (Succ vuz190)) (Pos Zero) == LT))",fontsize=16,color="magenta"];2886 -> 2893[label="",style="dashed", color="magenta", weight=3]; 2887[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2887 -> 2894[label="",style="solid", color="black", weight=3]; 2888[label="absReal1 (Pos (Succ vuz160)) (not (primCmpNat (Succ vuz160) Zero == LT))",fontsize=16,color="black",shape="box"];2888 -> 2895[label="",style="solid", color="black", weight=3]; 2889[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];2889 -> 2896[label="",style="solid", color="black", weight=3]; 2890 -> 2802[label="",style="dashed", color="red", weight=0]; 2890[label="gcd0Gcd' (Pos (Succ vuz8600)) (vuz87 `rem` Pos (Succ vuz8600))",fontsize=16,color="magenta"];2890 -> 2897[label="",style="dashed", color="magenta", weight=3]; 2890 -> 2898[label="",style="dashed", color="magenta", weight=3]; 2891 -> 2802[label="",style="dashed", color="red", weight=0]; 2891[label="gcd0Gcd' (Neg (Succ vuz8600)) (vuz87 `rem` Neg (Succ vuz8600))",fontsize=16,color="magenta"];2891 -> 2899[label="",style="dashed", color="magenta", weight=3]; 2891 -> 2900[label="",style="dashed", color="magenta", weight=3]; 2892[label="absReal1 (Neg (Succ vuz410)) (not True)",fontsize=16,color="black",shape="box"];2892 -> 2901[label="",style="solid", color="black", weight=3]; 2893[label="vuz190",fontsize=16,color="green",shape="box"];2894[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];2894 -> 2902[label="",style="solid", color="black", weight=3]; 2895[label="absReal1 (Pos (Succ vuz160)) (not (GT == LT))",fontsize=16,color="black",shape="box"];2895 -> 2903[label="",style="solid", color="black", weight=3]; 2896[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];2896 -> 2904[label="",style="solid", color="black", weight=3]; 2897[label="vuz87 `rem` Pos (Succ vuz8600)",fontsize=16,color="black",shape="box"];2897 -> 2905[label="",style="solid", color="black", weight=3]; 2898[label="Pos (Succ vuz8600)",fontsize=16,color="green",shape="box"];2899[label="vuz87 `rem` Neg (Succ vuz8600)",fontsize=16,color="black",shape="box"];2899 -> 2906[label="",style="solid", color="black", weight=3]; 2900[label="Neg (Succ vuz8600)",fontsize=16,color="green",shape="box"];2901[label="absReal1 (Neg (Succ vuz410)) False",fontsize=16,color="black",shape="box"];2901 -> 2907[label="",style="solid", color="black", weight=3]; 2902[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];2902 -> 2908[label="",style="solid", color="black", weight=3]; 2903[label="absReal1 (Pos (Succ vuz160)) (not False)",fontsize=16,color="black",shape="box"];2903 -> 2909[label="",style="solid", color="black", weight=3]; 2904[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];2904 -> 2910[label="",style="solid", color="black", weight=3]; 2905[label="primRemInt vuz87 (Pos (Succ vuz8600))",fontsize=16,color="burlywood",shape="box"];3264[label="vuz87/Pos vuz870",fontsize=10,color="white",style="solid",shape="box"];2905 -> 3264[label="",style="solid", color="burlywood", weight=9]; 3264 -> 2911[label="",style="solid", color="burlywood", weight=3]; 3265[label="vuz87/Neg vuz870",fontsize=10,color="white",style="solid",shape="box"];2905 -> 3265[label="",style="solid", color="burlywood", weight=9]; 3265 -> 2912[label="",style="solid", color="burlywood", weight=3]; 2906[label="primRemInt vuz87 (Neg (Succ vuz8600))",fontsize=16,color="burlywood",shape="box"];3266[label="vuz87/Pos vuz870",fontsize=10,color="white",style="solid",shape="box"];2906 -> 3266[label="",style="solid", color="burlywood", weight=9]; 3266 -> 2913[label="",style="solid", color="burlywood", weight=3]; 3267[label="vuz87/Neg vuz870",fontsize=10,color="white",style="solid",shape="box"];2906 -> 3267[label="",style="solid", color="burlywood", weight=9]; 3267 -> 2914[label="",style="solid", color="burlywood", weight=3]; 2907[label="absReal0 (Neg (Succ vuz410)) otherwise",fontsize=16,color="black",shape="box"];2907 -> 2915[label="",style="solid", color="black", weight=3]; 2908[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];2908 -> 2916[label="",style="solid", color="black", weight=3]; 2909[label="absReal1 (Pos (Succ vuz160)) True",fontsize=16,color="black",shape="box"];2909 -> 2917[label="",style="solid", color="black", weight=3]; 2910[label="Pos Zero",fontsize=16,color="green",shape="box"];2911[label="primRemInt (Pos vuz870) (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2911 -> 2918[label="",style="solid", color="black", weight=3]; 2912[label="primRemInt (Neg vuz870) (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2912 -> 2919[label="",style="solid", color="black", weight=3]; 2913[label="primRemInt (Pos vuz870) (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2913 -> 2920[label="",style="solid", color="black", weight=3]; 2914[label="primRemInt (Neg vuz870) (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2914 -> 2921[label="",style="solid", color="black", weight=3]; 2915[label="absReal0 (Neg (Succ vuz410)) True",fontsize=16,color="black",shape="box"];2915 -> 2922[label="",style="solid", color="black", weight=3]; 2916[label="Neg Zero",fontsize=16,color="green",shape="box"];2917[label="Pos (Succ vuz160)",fontsize=16,color="green",shape="box"];2918[label="Pos (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2918 -> 2923[label="",style="dashed", color="green", weight=3]; 2919[label="Neg (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2919 -> 2924[label="",style="dashed", color="green", weight=3]; 2920[label="Pos (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2920 -> 2925[label="",style="dashed", color="green", weight=3]; 2921[label="Neg (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2921 -> 2926[label="",style="dashed", color="green", weight=3]; 2922[label="`negate` Neg (Succ vuz410)",fontsize=16,color="black",shape="box"];2922 -> 2927[label="",style="solid", color="black", weight=3]; 2923[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="burlywood",shape="triangle"];3268[label="vuz870/Succ vuz8700",fontsize=10,color="white",style="solid",shape="box"];2923 -> 3268[label="",style="solid", color="burlywood", weight=9]; 3268 -> 2928[label="",style="solid", color="burlywood", weight=3]; 3269[label="vuz870/Zero",fontsize=10,color="white",style="solid",shape="box"];2923 -> 3269[label="",style="solid", color="burlywood", weight=9]; 3269 -> 2929[label="",style="solid", color="burlywood", weight=3]; 2924 -> 2923[label="",style="dashed", color="red", weight=0]; 2924[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2924 -> 2930[label="",style="dashed", color="magenta", weight=3]; 2925 -> 2923[label="",style="dashed", color="red", weight=0]; 2925[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2925 -> 2931[label="",style="dashed", color="magenta", weight=3]; 2926 -> 2923[label="",style="dashed", color="red", weight=0]; 2926[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2926 -> 2932[label="",style="dashed", color="magenta", weight=3]; 2926 -> 2933[label="",style="dashed", color="magenta", weight=3]; 2927[label="primNegInt (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2927 -> 2934[label="",style="solid", color="black", weight=3]; 2928[label="primModNatS (Succ vuz8700) (Succ vuz8600)",fontsize=16,color="black",shape="box"];2928 -> 2935[label="",style="solid", color="black", weight=3]; 2929[label="primModNatS Zero (Succ vuz8600)",fontsize=16,color="black",shape="box"];2929 -> 2936[label="",style="solid", color="black", weight=3]; 2930[label="vuz870",fontsize=16,color="green",shape="box"];2931[label="vuz8600",fontsize=16,color="green",shape="box"];2932[label="vuz8600",fontsize=16,color="green",shape="box"];2933[label="vuz870",fontsize=16,color="green",shape="box"];2934[label="Pos (Succ vuz410)",fontsize=16,color="green",shape="box"];2935[label="primModNatS0 vuz8700 vuz8600 (primGEqNatS vuz8700 vuz8600)",fontsize=16,color="burlywood",shape="box"];3270[label="vuz8700/Succ vuz87000",fontsize=10,color="white",style="solid",shape="box"];2935 -> 3270[label="",style="solid", color="burlywood", weight=9]; 3270 -> 2937[label="",style="solid", color="burlywood", weight=3]; 3271[label="vuz8700/Zero",fontsize=10,color="white",style="solid",shape="box"];2935 -> 3271[label="",style="solid", color="burlywood", weight=9]; 3271 -> 2938[label="",style="solid", color="burlywood", weight=3]; 2936[label="Zero",fontsize=16,color="green",shape="box"];2937[label="primModNatS0 (Succ vuz87000) vuz8600 (primGEqNatS (Succ vuz87000) vuz8600)",fontsize=16,color="burlywood",shape="box"];3272[label="vuz8600/Succ vuz86000",fontsize=10,color="white",style="solid",shape="box"];2937 -> 3272[label="",style="solid", color="burlywood", weight=9]; 3272 -> 2939[label="",style="solid", color="burlywood", weight=3]; 3273[label="vuz8600/Zero",fontsize=10,color="white",style="solid",shape="box"];2937 -> 3273[label="",style="solid", color="burlywood", weight=9]; 3273 -> 2940[label="",style="solid", color="burlywood", weight=3]; 2938[label="primModNatS0 Zero vuz8600 (primGEqNatS Zero vuz8600)",fontsize=16,color="burlywood",shape="box"];3274[label="vuz8600/Succ vuz86000",fontsize=10,color="white",style="solid",shape="box"];2938 -> 3274[label="",style="solid", color="burlywood", weight=9]; 3274 -> 2941[label="",style="solid", color="burlywood", weight=3]; 3275[label="vuz8600/Zero",fontsize=10,color="white",style="solid",shape="box"];2938 -> 3275[label="",style="solid", color="burlywood", weight=9]; 3275 -> 2942[label="",style="solid", color="burlywood", weight=3]; 2939[label="primModNatS0 (Succ vuz87000) (Succ vuz86000) (primGEqNatS (Succ vuz87000) (Succ vuz86000))",fontsize=16,color="black",shape="box"];2939 -> 2943[label="",style="solid", color="black", weight=3]; 2940[label="primModNatS0 (Succ vuz87000) Zero (primGEqNatS (Succ vuz87000) Zero)",fontsize=16,color="black",shape="box"];2940 -> 2944[label="",style="solid", color="black", weight=3]; 2941[label="primModNatS0 Zero (Succ vuz86000) (primGEqNatS Zero (Succ vuz86000))",fontsize=16,color="black",shape="box"];2941 -> 2945[label="",style="solid", color="black", weight=3]; 2942[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2942 -> 2946[label="",style="solid", color="black", weight=3]; 2943 -> 3105[label="",style="dashed", color="red", weight=0]; 2943[label="primModNatS0 (Succ vuz87000) (Succ vuz86000) (primGEqNatS vuz87000 vuz86000)",fontsize=16,color="magenta"];2943 -> 3106[label="",style="dashed", color="magenta", weight=3]; 2943 -> 3107[label="",style="dashed", color="magenta", weight=3]; 2943 -> 3108[label="",style="dashed", color="magenta", weight=3]; 2943 -> 3109[label="",style="dashed", color="magenta", weight=3]; 2944[label="primModNatS0 (Succ vuz87000) Zero True",fontsize=16,color="black",shape="box"];2944 -> 2949[label="",style="solid", color="black", weight=3]; 2945[label="primModNatS0 Zero (Succ vuz86000) False",fontsize=16,color="black",shape="box"];2945 -> 2950[label="",style="solid", color="black", weight=3]; 2946[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];2946 -> 2951[label="",style="solid", color="black", weight=3]; 3106[label="vuz87000",fontsize=16,color="green",shape="box"];3107[label="vuz87000",fontsize=16,color="green",shape="box"];3108[label="vuz86000",fontsize=16,color="green",shape="box"];3109[label="vuz86000",fontsize=16,color="green",shape="box"];3105[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz106 vuz107)",fontsize=16,color="burlywood",shape="triangle"];3276[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];3105 -> 3276[label="",style="solid", color="burlywood", weight=9]; 3276 -> 3138[label="",style="solid", color="burlywood", weight=3]; 3277[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];3105 -> 3277[label="",style="solid", color="burlywood", weight=9]; 3277 -> 3139[label="",style="solid", color="burlywood", weight=3]; 2949 -> 2923[label="",style="dashed", color="red", weight=0]; 2949[label="primModNatS (primMinusNatS (Succ vuz87000) Zero) (Succ Zero)",fontsize=16,color="magenta"];2949 -> 2956[label="",style="dashed", color="magenta", weight=3]; 2949 -> 2957[label="",style="dashed", color="magenta", weight=3]; 2950[label="Succ Zero",fontsize=16,color="green",shape="box"];2951 -> 2923[label="",style="dashed", color="red", weight=0]; 2951[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];2951 -> 2958[label="",style="dashed", color="magenta", weight=3]; 2951 -> 2959[label="",style="dashed", color="magenta", weight=3]; 3138[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) vuz107)",fontsize=16,color="burlywood",shape="box"];3278[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];3138 -> 3278[label="",style="solid", color="burlywood", weight=9]; 3278 -> 3140[label="",style="solid", color="burlywood", weight=3]; 3279[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];3138 -> 3279[label="",style="solid", color="burlywood", weight=9]; 3279 -> 3141[label="",style="solid", color="burlywood", weight=3]; 3139[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero vuz107)",fontsize=16,color="burlywood",shape="box"];3280[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];3139 -> 3280[label="",style="solid", color="burlywood", weight=9]; 3280 -> 3142[label="",style="solid", color="burlywood", weight=3]; 3281[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];3139 -> 3281[label="",style="solid", color="burlywood", weight=9]; 3281 -> 3143[label="",style="solid", color="burlywood", weight=3]; 2956[label="Zero",fontsize=16,color="green",shape="box"];2957 -> 2734[label="",style="dashed", color="red", weight=0]; 2957[label="primMinusNatS (Succ vuz87000) Zero",fontsize=16,color="magenta"];2957 -> 2964[label="",style="dashed", color="magenta", weight=3]; 2957 -> 2965[label="",style="dashed", color="magenta", weight=3]; 2958[label="Zero",fontsize=16,color="green",shape="box"];2959 -> 2734[label="",style="dashed", color="red", weight=0]; 2959[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];2959 -> 2966[label="",style="dashed", color="magenta", weight=3]; 2959 -> 2967[label="",style="dashed", color="magenta", weight=3]; 3140[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) (Succ vuz1070))",fontsize=16,color="black",shape="box"];3140 -> 3144[label="",style="solid", color="black", weight=3]; 3141[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) Zero)",fontsize=16,color="black",shape="box"];3141 -> 3145[label="",style="solid", color="black", weight=3]; 3142[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero (Succ vuz1070))",fontsize=16,color="black",shape="box"];3142 -> 3146[label="",style="solid", color="black", weight=3]; 3143[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3143 -> 3147[label="",style="solid", color="black", weight=3]; 2964[label="Zero",fontsize=16,color="green",shape="box"];2965[label="Succ vuz87000",fontsize=16,color="green",shape="box"];2966[label="Zero",fontsize=16,color="green",shape="box"];2967[label="Zero",fontsize=16,color="green",shape="box"];3144 -> 3105[label="",style="dashed", color="red", weight=0]; 3144[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz1060 vuz1070)",fontsize=16,color="magenta"];3144 -> 3148[label="",style="dashed", color="magenta", weight=3]; 3144 -> 3149[label="",style="dashed", color="magenta", weight=3]; 3145[label="primModNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="black",shape="triangle"];3145 -> 3150[label="",style="solid", color="black", weight=3]; 3146[label="primModNatS0 (Succ vuz104) (Succ vuz105) False",fontsize=16,color="black",shape="box"];3146 -> 3151[label="",style="solid", color="black", weight=3]; 3147 -> 3145[label="",style="dashed", color="red", weight=0]; 3147[label="primModNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="magenta"];3148[label="vuz1060",fontsize=16,color="green",shape="box"];3149[label="vuz1070",fontsize=16,color="green",shape="box"];3150 -> 2923[label="",style="dashed", color="red", weight=0]; 3150[label="primModNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105))",fontsize=16,color="magenta"];3150 -> 3152[label="",style="dashed", color="magenta", weight=3]; 3150 -> 3153[label="",style="dashed", color="magenta", weight=3]; 3151[label="Succ (Succ vuz104)",fontsize=16,color="green",shape="box"];3152[label="Succ vuz105",fontsize=16,color="green",shape="box"];3153 -> 2734[label="",style="dashed", color="red", weight=0]; 3153[label="primMinusNatS (Succ vuz104) (Succ vuz105)",fontsize=16,color="magenta"];3153 -> 3154[label="",style="dashed", color="magenta", weight=3]; 3153 -> 3155[label="",style="dashed", color="magenta", weight=3]; 3154[label="Succ vuz105",fontsize=16,color="green",shape="box"];3155[label="Succ vuz104",fontsize=16,color="green",shape="box"];} ---------------------------------------- (423) TRUE