101.78/77.32 MAYBE 101.84/77.33 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 101.84/77.33 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 101.84/77.33 101.84/77.33 101.84/77.33 H-Termination with start terms of the given HASKELL could not be shown: 101.84/77.33 101.84/77.33 (0) HASKELL 101.84/77.33 (1) IFR [EQUIVALENT, 0 ms] 101.84/77.33 (2) HASKELL 101.84/77.33 (3) BR [EQUIVALENT, 0 ms] 101.84/77.33 (4) HASKELL 101.84/77.33 (5) COR [EQUIVALENT, 0 ms] 101.84/77.33 (6) HASKELL 101.84/77.33 (7) LetRed [EQUIVALENT, 0 ms] 101.84/77.33 (8) HASKELL 101.84/77.33 (9) NumRed [SOUND, 0 ms] 101.84/77.33 (10) HASKELL 101.84/77.33 (11) Narrow [SOUND, 0 ms] 101.84/77.33 (12) AND 101.84/77.33 (13) QDP 101.84/77.33 (14) MNOCProof [EQUIVALENT, 0 ms] 101.84/77.33 (15) QDP 101.84/77.33 (16) InductionCalculusProof [EQUIVALENT, 0 ms] 101.84/77.33 (17) QDP 101.84/77.33 (18) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (19) QDP 101.84/77.33 (20) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (21) AND 101.84/77.33 (22) QDP 101.84/77.33 (23) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (24) QDP 101.84/77.33 (25) QReductionProof [EQUIVALENT, 0 ms] 101.84/77.33 (26) QDP 101.84/77.33 (27) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (28) QDP 101.84/77.33 (29) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (30) AND 101.84/77.33 (31) QDP 101.84/77.33 (32) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (33) QDP 101.84/77.33 (34) QReductionProof [EQUIVALENT, 0 ms] 101.84/77.33 (35) QDP 101.84/77.33 (36) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (37) QDP 101.84/77.33 (38) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (39) QDP 101.84/77.33 (40) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (41) QDP 101.84/77.33 (42) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (43) QDP 101.84/77.33 (44) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (45) QDP 101.84/77.33 (46) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (47) QDP 101.84/77.33 (48) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (49) QDP 101.84/77.33 (50) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (51) QDP 101.84/77.33 (52) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (53) QDP 101.84/77.33 (54) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (55) QDP 101.84/77.33 (56) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (57) QDP 101.84/77.33 (58) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.84/77.33 (59) YES 101.84/77.33 (60) QDP 101.84/77.33 (61) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (62) QDP 101.84/77.33 (63) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (64) QDP 101.84/77.33 (65) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (66) AND 101.84/77.33 (67) QDP 101.84/77.33 (68) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (69) QDP 101.84/77.33 (70) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (71) QDP 101.84/77.33 (72) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (73) QDP 101.84/77.33 (74) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (75) QDP 101.84/77.33 (76) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (77) QDP 101.84/77.33 (78) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (79) QDP 101.84/77.33 (80) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (81) QDP 101.84/77.33 (82) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (83) QDP 101.84/77.33 (84) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (85) QDP 101.84/77.33 (86) QDPOrderProof [EQUIVALENT, 0 ms] 101.84/77.33 (87) QDP 101.84/77.33 (88) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (89) TRUE 101.84/77.33 (90) QDP 101.84/77.33 (91) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (92) QDP 101.84/77.33 (93) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (94) AND 101.84/77.33 (95) QDP 101.84/77.33 (96) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (97) QDP 101.84/77.33 (98) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (99) QDP 101.84/77.33 (100) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (101) QDP 101.84/77.33 (102) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (103) QDP 101.84/77.33 (104) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (105) QDP 101.84/77.33 (106) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (107) QDP 101.84/77.33 (108) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (109) QDP 101.84/77.33 (110) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (111) QDP 101.84/77.33 (112) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (113) QDP 101.84/77.33 (114) QDPOrderProof [EQUIVALENT, 0 ms] 101.84/77.33 (115) QDP 101.84/77.33 (116) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (117) TRUE 101.84/77.33 (118) QDP 101.84/77.33 (119) InductionCalculusProof [EQUIVALENT, 0 ms] 101.84/77.33 (120) QDP 101.84/77.33 (121) QDP 101.84/77.33 (122) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (123) QDP 101.84/77.33 (124) QReductionProof [EQUIVALENT, 0 ms] 101.84/77.33 (125) QDP 101.84/77.33 (126) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (127) QDP 101.84/77.33 (128) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (129) AND 101.84/77.33 (130) QDP 101.84/77.33 (131) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (132) QDP 101.84/77.33 (133) QReductionProof [EQUIVALENT, 0 ms] 101.84/77.33 (134) QDP 101.84/77.33 (135) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (136) QDP 101.84/77.33 (137) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (138) AND 101.84/77.33 (139) QDP 101.84/77.33 (140) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (141) QDP 101.84/77.33 (142) QReductionProof [EQUIVALENT, 0 ms] 101.84/77.33 (143) QDP 101.84/77.33 (144) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (145) QDP 101.84/77.33 (146) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (147) QDP 101.84/77.33 (148) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (149) QDP 101.84/77.33 (150) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (151) QDP 101.84/77.33 (152) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (153) QDP 101.84/77.33 (154) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (155) QDP 101.84/77.33 (156) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (157) QDP 101.84/77.33 (158) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (159) QDP 101.84/77.33 (160) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (161) QDP 101.84/77.33 (162) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (163) QDP 101.84/77.33 (164) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (165) QDP 101.84/77.33 (166) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.84/77.33 (167) YES 101.84/77.33 (168) QDP 101.84/77.33 (169) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (170) QDP 101.84/77.33 (171) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (172) QDP 101.84/77.33 (173) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (174) AND 101.84/77.33 (175) QDP 101.84/77.33 (176) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (177) QDP 101.84/77.33 (178) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (179) QDP 101.84/77.33 (180) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (181) QDP 101.84/77.33 (182) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (183) QDP 101.84/77.33 (184) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (185) QDP 101.84/77.33 (186) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (187) QDP 101.84/77.33 (188) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (189) QDP 101.84/77.33 (190) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (191) QDP 101.84/77.33 (192) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (193) QDP 101.84/77.33 (194) QDPOrderProof [EQUIVALENT, 19 ms] 101.84/77.33 (195) QDP 101.84/77.33 (196) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (197) TRUE 101.84/77.33 (198) QDP 101.84/77.33 (199) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (200) QDP 101.84/77.33 (201) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (202) AND 101.84/77.33 (203) QDP 101.84/77.33 (204) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (205) QDP 101.84/77.33 (206) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (207) QDP 101.84/77.33 (208) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (209) QDP 101.84/77.33 (210) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (211) QDP 101.84/77.33 (212) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (213) QDP 101.84/77.33 (214) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (215) QDP 101.84/77.33 (216) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (217) QDP 101.84/77.33 (218) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (219) QDP 101.84/77.33 (220) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (221) QDP 101.84/77.33 (222) QDPOrderProof [EQUIVALENT, 0 ms] 101.84/77.33 (223) QDP 101.84/77.33 (224) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (225) TRUE 101.84/77.33 (226) QDP 101.84/77.33 (227) InductionCalculusProof [EQUIVALENT, 0 ms] 101.84/77.33 (228) QDP 101.84/77.33 (229) QDP 101.84/77.33 (230) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (231) QDP 101.84/77.33 (232) QReductionProof [EQUIVALENT, 0 ms] 101.84/77.33 (233) QDP 101.84/77.33 (234) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (235) QDP 101.84/77.33 (236) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (237) QDP 101.84/77.33 (238) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (239) QDP 101.84/77.33 (240) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (241) QDP 101.84/77.33 (242) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (243) QDP 101.84/77.33 (244) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (245) QDP 101.84/77.33 (246) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (247) AND 101.84/77.33 (248) QDP 101.84/77.33 (249) UsableRulesProof [EQUIVALENT, 0 ms] 101.84/77.33 (250) QDP 101.84/77.33 (251) QReductionProof [EQUIVALENT, 0 ms] 101.84/77.33 (252) QDP 101.84/77.33 (253) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (254) QDP 101.84/77.33 (255) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (256) QDP 101.84/77.33 (257) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (258) QDP 101.84/77.33 (259) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (260) QDP 101.84/77.33 (261) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (262) QDP 101.84/77.33 (263) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (264) QDP 101.84/77.33 (265) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (266) QDP 101.84/77.33 (267) TransformationProof [EQUIVALENT, 0 ms] 101.84/77.33 (268) QDP 101.84/77.33 (269) DependencyGraphProof [EQUIVALENT, 0 ms] 101.84/77.33 (270) QDP 101.84/77.33 (271) QDPSizeChangeProof [EQUIVALENT, 6 ms] 101.84/77.33 (272) YES 101.84/77.33 (273) QDP 101.84/77.33 (274) UsableRulesProof [EQUIVALENT, 0 ms] 103.95/77.91 (275) QDP 103.95/77.91 (276) QReductionProof [EQUIVALENT, 0 ms] 103.95/77.91 (277) QDP 103.95/77.91 (278) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (279) QDP 103.95/77.91 (280) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (281) QDP 103.95/77.91 (282) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (283) QDP 103.95/77.91 (284) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (285) QDP 103.95/77.91 (286) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (287) QDP 103.95/77.91 (288) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (289) QDP 103.95/77.91 (290) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (291) QDP 103.95/77.91 (292) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (293) QDP 103.95/77.91 (294) QDPSizeChangeProof [EQUIVALENT, 0 ms] 103.95/77.91 (295) YES 103.95/77.91 (296) QDP 103.95/77.91 (297) UsableRulesProof [EQUIVALENT, 0 ms] 103.95/77.91 (298) QDP 103.95/77.91 (299) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (300) QDP 103.95/77.91 (301) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (302) QDP 103.95/77.91 (303) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (304) QDP 103.95/77.91 (305) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (306) QDP 103.95/77.91 (307) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (308) QDP 103.95/77.91 (309) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (310) QDP 103.95/77.91 (311) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (312) QDP 103.95/77.91 (313) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (314) QDP 103.95/77.91 (315) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (316) QDP 103.95/77.91 (317) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (318) QDP 103.95/77.91 (319) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (320) QDP 103.95/77.91 (321) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (322) QDP 103.95/77.91 (323) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (324) QDP 103.95/77.91 (325) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (326) QDP 103.95/77.91 (327) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (328) QDP 103.95/77.91 (329) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (330) QDP 103.95/77.91 (331) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (332) QDP 103.95/77.91 (333) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (334) QDP 103.95/77.91 (335) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (336) QDP 103.95/77.91 (337) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (338) AND 103.95/77.91 (339) QDP 103.95/77.91 (340) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (341) QDP 103.95/77.91 (342) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (343) QDP 103.95/77.91 (344) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (345) QDP 103.95/77.91 (346) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (347) QDP 103.95/77.91 (348) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (349) QDP 103.95/77.91 (350) QDPOrderProof [EQUIVALENT, 96 ms] 103.95/77.91 (351) QDP 103.95/77.91 (352) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (353) TRUE 103.95/77.91 (354) QDP 103.95/77.91 (355) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (356) QDP 103.95/77.91 (357) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (358) QDP 103.95/77.91 (359) QDPOrderProof [EQUIVALENT, 77 ms] 103.95/77.91 (360) QDP 103.95/77.91 (361) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (362) TRUE 103.95/77.91 (363) QDP 103.95/77.91 (364) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (365) QDP 103.95/77.91 (366) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (367) AND 103.95/77.91 (368) QDP 103.95/77.91 (369) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (370) QDP 103.95/77.91 (371) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (372) QDP 103.95/77.91 (373) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (374) QDP 103.95/77.91 (375) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (376) QDP 103.95/77.91 (377) QDPOrderProof [EQUIVALENT, 19 ms] 103.95/77.91 (378) QDP 103.95/77.91 (379) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (380) TRUE 103.95/77.91 (381) QDP 103.95/77.91 (382) QDPOrderProof [EQUIVALENT, 68 ms] 103.95/77.91 (383) QDP 103.95/77.91 (384) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (385) TRUE 103.95/77.91 (386) QDP 103.95/77.91 (387) InductionCalculusProof [EQUIVALENT, 0 ms] 103.95/77.91 (388) QDP 103.95/77.91 (389) QDP 103.95/77.91 (390) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (391) AND 103.95/77.91 (392) QDP 103.95/77.91 (393) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (394) QDP 103.95/77.91 (395) TransformationProof [EQUIVALENT, 0 ms] 103.95/77.91 (396) QDP 103.95/77.91 (397) QDPSizeChangeProof [EQUIVALENT, 0 ms] 103.95/77.91 (398) YES 103.95/77.91 (399) QDP 103.95/77.91 (400) QDPSizeChangeProof [EQUIVALENT, 0 ms] 103.95/77.91 (401) YES 103.95/77.91 (402) QDP 103.95/77.91 (403) DependencyGraphProof [EQUIVALENT, 0 ms] 103.95/77.91 (404) AND 103.95/77.91 (405) QDP 103.95/77.91 (406) MRRProof [EQUIVALENT, 0 ms] 103.95/77.91 (407) QDP 103.95/77.91 (408) PisEmptyProof [EQUIVALENT, 0 ms] 103.95/77.91 (409) YES 103.95/77.91 (410) QDP 103.95/77.91 (411) QDPSizeChangeProof [EQUIVALENT, 0 ms] 103.95/77.91 (412) YES 103.95/77.91 (413) QDP 103.95/77.91 (414) QDPSizeChangeProof [EQUIVALENT, 0 ms] 103.95/77.91 (415) YES 103.95/77.91 (416) QDP 103.95/77.91 (417) QDPSizeChangeProof [EQUIVALENT, 0 ms] 103.95/77.91 (418) YES 103.95/77.91 (419) QDP 103.95/77.91 (420) QDPSizeChangeProof [EQUIVALENT, 0 ms] 103.95/77.91 (421) YES 103.95/77.91 (422) Narrow [COMPLETE, 0 ms] 103.95/77.91 (423) TRUE 103.95/77.91 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (0) 103.95/77.91 Obligation: 103.95/77.91 mainModule Main 103.95/77.91 module Main where { 103.95/77.91 import qualified Prelude; 103.95/77.91 } 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (1) IFR (EQUIVALENT) 103.95/77.91 If Reductions: 103.95/77.91 The following If expression 103.95/77.91 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 103.95/77.91 is transformed to 103.95/77.91 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 103.95/77.91 primDivNatS0 x y False = Zero; 103.95/77.91 " 103.95/77.91 The following If expression 103.95/77.91 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 103.95/77.91 is transformed to 103.95/77.91 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 103.95/77.91 primModNatS0 x y False = Succ x; 103.95/77.91 " 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (2) 103.95/77.91 Obligation: 103.95/77.91 mainModule Main 103.95/77.91 module Main where { 103.95/77.91 import qualified Prelude; 103.95/77.91 } 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (3) BR (EQUIVALENT) 103.95/77.91 Replaced joker patterns by fresh variables and removed binding patterns. 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (4) 103.95/77.91 Obligation: 103.95/77.91 mainModule Main 103.95/77.91 module Main where { 103.95/77.91 import qualified Prelude; 103.95/77.91 } 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (5) COR (EQUIVALENT) 103.95/77.91 Cond Reductions: 103.95/77.91 The following Function with conditions 103.95/77.91 "absReal x|x >= 0x|otherwise`negate` x; 103.95/77.91 " 103.95/77.91 is transformed to 103.95/77.91 "absReal x = absReal2 x; 103.95/77.91 " 103.95/77.91 "absReal0 x True = `negate` x; 103.95/77.91 " 103.95/77.91 "absReal1 x True = x; 103.95/77.91 absReal1 x False = absReal0 x otherwise; 103.95/77.91 " 103.95/77.91 "absReal2 x = absReal1 x (x >= 0); 103.95/77.91 " 103.95/77.91 The following Function with conditions 103.95/77.91 "gcd' x 0 = x; 103.95/77.91 gcd' x y = gcd' y (x `rem` y); 103.95/77.91 " 103.95/77.91 is transformed to 103.95/77.91 "gcd' x xz = gcd'2 x xz; 103.95/77.91 gcd' x y = gcd'0 x y; 103.95/77.91 " 103.95/77.91 "gcd'0 x y = gcd' y (x `rem` y); 103.95/77.91 " 103.95/77.91 "gcd'1 True x xz = x; 103.95/77.91 gcd'1 yu yv yw = gcd'0 yv yw; 103.95/77.91 " 103.95/77.91 "gcd'2 x xz = gcd'1 (xz == 0) x xz; 103.95/77.91 gcd'2 yx yy = gcd'0 yx yy; 103.95/77.91 " 103.95/77.91 The following Function with conditions 103.95/77.91 "gcd 0 0 = error []; 103.95/77.91 gcd x y = gcd' (abs x) (abs y) where { 103.95/77.91 gcd' x 0 = x; 103.95/77.91 gcd' x y = gcd' y (x `rem` y); 103.95/77.91 } 103.95/77.91 ; 103.95/77.91 " 103.95/77.91 is transformed to 103.95/77.91 "gcd yz zu = gcd3 yz zu; 103.95/77.91 gcd x y = gcd0 x y; 103.95/77.91 " 103.95/77.91 "gcd0 x y = gcd' (abs x) (abs y) where { 103.95/77.91 gcd' x xz = gcd'2 x xz; 103.95/77.91 gcd' x y = gcd'0 x y; 103.95/77.91 ; 103.95/77.91 gcd'0 x y = gcd' y (x `rem` y); 103.95/77.91 ; 103.95/77.91 gcd'1 True x xz = x; 103.95/77.91 gcd'1 yu yv yw = gcd'0 yv yw; 103.95/77.91 ; 103.95/77.91 gcd'2 x xz = gcd'1 (xz == 0) x xz; 103.95/77.91 gcd'2 yx yy = gcd'0 yx yy; 103.95/77.91 } 103.95/77.91 ; 103.95/77.91 " 103.95/77.91 "gcd1 True yz zu = error []; 103.95/77.91 gcd1 zv zw zx = gcd0 zw zx; 103.95/77.91 " 103.95/77.91 "gcd2 True yz zu = gcd1 (zu == 0) yz zu; 103.95/77.91 gcd2 zy zz vuu = gcd0 zz vuu; 103.95/77.91 " 103.95/77.91 "gcd3 yz zu = gcd2 (yz == 0) yz zu; 103.95/77.91 gcd3 vuv vuw = gcd0 vuv vuw; 103.95/77.91 " 103.95/77.91 The following Function with conditions 103.95/77.91 "undefined |Falseundefined; 103.95/77.91 " 103.95/77.91 is transformed to 103.95/77.91 "undefined = undefined1; 103.95/77.91 " 103.95/77.91 "undefined0 True = undefined; 103.95/77.91 " 103.95/77.91 "undefined1 = undefined0 False; 103.95/77.91 " 103.95/77.91 The following Function with conditions 103.95/77.91 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 103.95/77.91 d = gcd x y; 103.95/77.91 } 103.95/77.91 ; 103.95/77.91 " 103.95/77.91 is transformed to 103.95/77.91 "reduce x y = reduce2 x y; 103.95/77.91 " 103.95/77.91 "reduce2 x y = reduce1 x y (y == 0) where { 103.95/77.91 d = gcd x y; 103.95/77.91 ; 103.95/77.91 reduce0 x y True = x `quot` d :% (y `quot` d); 103.95/77.91 ; 103.95/77.91 reduce1 x y True = error []; 103.95/77.91 reduce1 x y False = reduce0 x y otherwise; 103.95/77.91 } 103.95/77.91 ; 103.95/77.91 " 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (6) 103.95/77.91 Obligation: 103.95/77.91 mainModule Main 103.95/77.91 module Main where { 103.95/77.91 import qualified Prelude; 103.95/77.91 } 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (7) LetRed (EQUIVALENT) 103.95/77.91 Let/Where Reductions: 103.95/77.91 The bindings of the following Let/Where expression 103.95/77.91 "gcd' (abs x) (abs y) where { 103.95/77.91 gcd' x xz = gcd'2 x xz; 103.95/77.91 gcd' x y = gcd'0 x y; 103.95/77.91 ; 103.95/77.91 gcd'0 x y = gcd' y (x `rem` y); 103.95/77.91 ; 103.95/77.91 gcd'1 True x xz = x; 103.95/77.91 gcd'1 yu yv yw = gcd'0 yv yw; 103.95/77.91 ; 103.95/77.91 gcd'2 x xz = gcd'1 (xz == 0) x xz; 103.95/77.91 gcd'2 yx yy = gcd'0 yx yy; 103.95/77.91 } 103.95/77.91 " 103.95/77.91 are unpacked to the following functions on top level 103.95/77.91 "gcd0Gcd'1 True x xz = x; 103.95/77.91 gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; 103.95/77.91 " 103.95/77.91 "gcd0Gcd' x xz = gcd0Gcd'2 x xz; 103.95/77.91 gcd0Gcd' x y = gcd0Gcd'0 x y; 103.95/77.91 " 103.95/77.91 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 103.95/77.91 " 103.95/77.91 "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; 103.95/77.91 gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; 103.95/77.91 " 103.95/77.91 The bindings of the following Let/Where expression 103.95/77.91 "reduce1 x y (y == 0) where { 103.95/77.91 d = gcd x y; 103.95/77.91 ; 103.95/77.91 reduce0 x y True = x `quot` d :% (y `quot` d); 103.95/77.91 ; 103.95/77.91 reduce1 x y True = error []; 103.95/77.91 reduce1 x y False = reduce0 x y otherwise; 103.95/77.91 } 103.95/77.91 " 103.95/77.91 are unpacked to the following functions on top level 103.95/77.91 "reduce2D vux vuy = gcd vux vuy; 103.95/77.91 " 103.95/77.91 "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); 103.95/77.91 " 103.95/77.91 "reduce2Reduce1 vux vuy x y True = error []; 103.95/77.91 reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; 103.95/77.91 " 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (8) 103.95/77.91 Obligation: 103.95/77.91 mainModule Main 103.95/77.91 module Main where { 103.95/77.91 import qualified Prelude; 103.95/77.91 } 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (9) NumRed (SOUND) 103.95/77.91 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (10) 103.95/77.91 Obligation: 103.95/77.91 mainModule Main 103.95/77.91 module Main where { 103.95/77.91 import qualified Prelude; 103.95/77.91 } 103.95/77.91 103.95/77.91 ---------------------------------------- 103.95/77.91 103.95/77.91 (11) Narrow (SOUND) 103.95/77.91 Haskell To QDPs 103.95/77.91 103.95/77.91 digraph dp_graph { 103.95/77.91 node [outthreshold=100, inthreshold=100];1[label="(*)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 103.95/77.91 3[label="(*) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 103.95/77.91 4[label="(*) vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];3163[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 3163[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3163 -> 5[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 5[label="(*) (vuz30 :% vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];3164[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];5 -> 3164[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3164 -> 6[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 6[label="(*) (vuz30 :% vuz31) (vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 103.95/77.91 7[label="reduce (vuz30 * vuz40) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 103.95/77.91 8[label="reduce2 (vuz30 * vuz40) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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"];3165[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];11 -> 3165[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3165 -> 12[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3166[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];11 -> 3166[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3166 -> 13[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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"];3167[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];12 -> 3167[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3167 -> 14[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3168[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];12 -> 3168[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3168 -> 15[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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"];3169[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];13 -> 3169[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3169 -> 16[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3170[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];13 -> 3170[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3170 -> 17[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 18 -> 222[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 18 -> 224[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 18 -> 225[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 19 -> 269[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 19 -> 271[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 19 -> 272[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 20 -> 269[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 20 -> 274[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 20 -> 275[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 21 -> 222[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 21 -> 227[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 21 -> 228[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 223[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];3171[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];223 -> 3171[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3171 -> 259[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3172[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];223 -> 3172[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3172 -> 260[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 224 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 224[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];225 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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"];3173[label="vuz17/Succ vuz170",fontsize=10,color="white",style="solid",shape="box"];222 -> 3173[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3173 -> 261[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3174[label="vuz17/Zero",fontsize=10,color="white",style="solid",shape="box"];222 -> 3174[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3174 -> 262[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 270 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 270[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];270 -> 306[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 271 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 271[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];271 -> 307[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 272 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 272[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];272 -> 308[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 269[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg vuz20) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];3175[label="vuz20/Succ vuz200",fontsize=10,color="white",style="solid",shape="box"];269 -> 3175[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3175 -> 309[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3176[label="vuz20/Zero",fontsize=10,color="white",style="solid",shape="box"];269 -> 3176[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3176 -> 310[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 273 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 273[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];273 -> 311[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 274 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 274[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];274 -> 312[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 275 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 275[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];275 -> 313[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 226 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 226[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];226 -> 263[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 226 -> 264[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 227 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 227[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];227 -> 265[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 227 -> 266[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 228 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 228[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];228 -> 267[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 228 -> 268[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 259[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];3177[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];259 -> 3177[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3177 -> 314[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3178[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];259 -> 3178[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3178 -> 315[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 260[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];3179[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];260 -> 3179[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3179 -> 316[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3180[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];260 -> 3180[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3180 -> 317[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 315[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];315 -> 323[label="",style="solid", color="black", weight=3]; 103.95/77.91 316[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];316 -> 324[label="",style="solid", color="black", weight=3]; 103.95/77.91 317[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];317 -> 325[label="",style="solid", color="black", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 322 -> 330[label="",style="dashed", color="red", weight=0]; 103.95/77.91 322[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];322 -> 331[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 331 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 331[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];331 -> 336[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 331 -> 337[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 330[label="primPlusNat vuz21 (Succ vuz4100)",fontsize=16,color="burlywood",shape="triangle"];3181[label="vuz21/Succ vuz210",fontsize=10,color="white",style="solid",shape="box"];330 -> 3181[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3181 -> 338[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3182[label="vuz21/Zero",fontsize=10,color="white",style="solid",shape="box"];330 -> 3182[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3182 -> 339[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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]; 103.95/77.91 333[label="error []",fontsize=16,color="black",shape="triangle"];333 -> 341[label="",style="solid", color="black", weight=3]; 103.95/77.91 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]; 103.95/77.91 335 -> 333[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 339[label="primPlusNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];339 -> 344[label="",style="solid", color="black", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 343[label="Succ (Succ (primPlusNat vuz210 vuz4100))",fontsize=16,color="green",shape="box"];343 -> 347[label="",style="dashed", color="green", weight=3]; 103.95/77.91 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]; 103.95/77.91 345 -> 349[label="",style="dashed", color="green", weight=3]; 103.95/77.91 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]; 103.95/77.91 346 -> 351[label="",style="dashed", color="green", weight=3]; 103.95/77.91 347[label="primPlusNat vuz210 vuz4100",fontsize=16,color="burlywood",shape="triangle"];3183[label="vuz210/Succ vuz2100",fontsize=10,color="white",style="solid",shape="box"];347 -> 3183[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3183 -> 352[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3184[label="vuz210/Zero",fontsize=10,color="white",style="solid",shape="box"];347 -> 3184[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3184 -> 353[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 352[label="primPlusNat (Succ vuz2100) vuz4100",fontsize=16,color="burlywood",shape="box"];3185[label="vuz4100/Succ vuz41000",fontsize=10,color="white",style="solid",shape="box"];352 -> 3185[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3185 -> 358[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3186[label="vuz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];352 -> 3186[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3186 -> 359[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 353[label="primPlusNat Zero vuz4100",fontsize=16,color="burlywood",shape="box"];3187[label="vuz4100/Succ vuz41000",fontsize=10,color="white",style="solid",shape="box"];353 -> 3187[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3187 -> 360[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3188[label="vuz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];353 -> 3188[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3188 -> 361[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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]; 103.95/77.91 355 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.91 355[label="primQuotInt (Pos vuz15) (reduce2D (vuz30 * vuz40) (Pos vuz16))",fontsize=16,color="magenta"];355 -> 2213[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 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]; 103.95/77.91 357 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.91 357[label="primQuotInt (Neg vuz18) (reduce2D (vuz30 * vuz40) (Neg vuz19))",fontsize=16,color="magenta"];357 -> 998[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 357 -> 999[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 358[label="primPlusNat (Succ vuz2100) (Succ vuz41000)",fontsize=16,color="black",shape="box"];358 -> 366[label="",style="solid", color="black", weight=3]; 103.95/77.91 359[label="primPlusNat (Succ vuz2100) Zero",fontsize=16,color="black",shape="box"];359 -> 367[label="",style="solid", color="black", weight=3]; 103.95/77.91 360[label="primPlusNat Zero (Succ vuz41000)",fontsize=16,color="black",shape="box"];360 -> 368[label="",style="solid", color="black", weight=3]; 103.95/77.91 361[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];361 -> 369[label="",style="solid", color="black", weight=3]; 103.95/77.91 362[label="primQuotInt (primMulInt vuz30 vuz40) (reduce2D (primMulInt vuz30 vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3189[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];362 -> 3189[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3189 -> 370[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3190[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];362 -> 3190[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3190 -> 371[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 2213[label="reduce2D (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2213 -> 2622[label="",style="solid", color="black", weight=3]; 103.95/77.91 2212[label="primQuotInt (Pos vuz15) vuz83",fontsize=16,color="burlywood",shape="triangle"];3191[label="vuz83/Pos vuz830",fontsize=10,color="white",style="solid",shape="box"];2212 -> 3191[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3191 -> 2623[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3192[label="vuz83/Neg vuz830",fontsize=10,color="white",style="solid",shape="box"];2212 -> 3192[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3192 -> 2624[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 364[label="primQuotInt (primMulInt vuz30 vuz40) (reduce2D (primMulInt vuz30 vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3193[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];364 -> 3193[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3193 -> 373[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3194[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];364 -> 3194[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3194 -> 374[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 998[label="reduce2D (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];998 -> 1444[label="",style="solid", color="black", weight=3]; 103.95/77.91 999[label="vuz18",fontsize=16,color="green",shape="box"];997[label="primQuotInt (Neg vuz39) vuz40",fontsize=16,color="burlywood",shape="triangle"];3195[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];997 -> 3195[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3195 -> 1445[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3196[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];997 -> 3196[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3196 -> 1446[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 366[label="Succ (Succ (primPlusNat vuz2100 vuz41000))",fontsize=16,color="green",shape="box"];366 -> 376[label="",style="dashed", color="green", weight=3]; 103.95/77.91 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"];3197[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];370 -> 3197[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3197 -> 377[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3198[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];370 -> 3198[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3198 -> 378[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 371[label="primQuotInt (primMulInt (Neg vuz300) vuz40) (reduce2D (primMulInt (Neg vuz300) vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3199[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];371 -> 3199[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3199 -> 379[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3200[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];371 -> 3200[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3200 -> 380[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 2622[label="gcd (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2622 -> 2630[label="",style="solid", color="black", weight=3]; 103.95/77.91 2623[label="primQuotInt (Pos vuz15) (Pos vuz830)",fontsize=16,color="burlywood",shape="box"];3201[label="vuz830/Succ vuz8300",fontsize=10,color="white",style="solid",shape="box"];2623 -> 3201[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3201 -> 2631[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3202[label="vuz830/Zero",fontsize=10,color="white",style="solid",shape="box"];2623 -> 3202[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3202 -> 2632[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 2624[label="primQuotInt (Pos vuz15) (Neg vuz830)",fontsize=16,color="burlywood",shape="box"];3203[label="vuz830/Succ vuz8300",fontsize=10,color="white",style="solid",shape="box"];2624 -> 3203[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3203 -> 2633[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3204[label="vuz830/Zero",fontsize=10,color="white",style="solid",shape="box"];2624 -> 3204[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3204 -> 2634[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 373[label="primQuotInt (primMulInt (Pos vuz300) vuz40) (reduce2D (primMulInt (Pos vuz300) vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3205[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];373 -> 3205[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3205 -> 382[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3206[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];373 -> 3206[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3206 -> 383[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 374[label="primQuotInt (primMulInt (Neg vuz300) vuz40) (reduce2D (primMulInt (Neg vuz300) vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3207[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];374 -> 3207[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3207 -> 384[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3208[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];374 -> 3208[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3208 -> 385[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 1444[label="gcd (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1444 -> 1450[label="",style="solid", color="black", weight=3]; 103.95/77.91 1445[label="primQuotInt (Neg vuz39) (Pos vuz400)",fontsize=16,color="burlywood",shape="box"];3209[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];1445 -> 3209[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3209 -> 1451[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3210[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];1445 -> 3210[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3210 -> 1452[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 1446[label="primQuotInt (Neg vuz39) (Neg vuz400)",fontsize=16,color="burlywood",shape="box"];3211[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];1446 -> 3211[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3211 -> 1453[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3212[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];1446 -> 3212[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3212 -> 1454[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 376 -> 347[label="",style="dashed", color="red", weight=0]; 103.95/77.91 376[label="primPlusNat vuz2100 vuz41000",fontsize=16,color="magenta"];376 -> 387[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 376 -> 388[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 2630[label="gcd3 (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2630 -> 2642[label="",style="solid", color="black", weight=3]; 103.95/77.91 2631[label="primQuotInt (Pos vuz15) (Pos (Succ vuz8300))",fontsize=16,color="black",shape="box"];2631 -> 2643[label="",style="solid", color="black", weight=3]; 103.95/77.91 2632[label="primQuotInt (Pos vuz15) (Pos Zero)",fontsize=16,color="black",shape="box"];2632 -> 2644[label="",style="solid", color="black", weight=3]; 103.95/77.91 2633[label="primQuotInt (Pos vuz15) (Neg (Succ vuz8300))",fontsize=16,color="black",shape="box"];2633 -> 2645[label="",style="solid", color="black", weight=3]; 103.95/77.91 2634[label="primQuotInt (Pos vuz15) (Neg Zero)",fontsize=16,color="black",shape="box"];2634 -> 2646[label="",style="solid", color="black", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 1450[label="gcd3 (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1450 -> 1462[label="",style="solid", color="black", weight=3]; 103.95/77.91 1451[label="primQuotInt (Neg vuz39) (Pos (Succ vuz4000))",fontsize=16,color="black",shape="box"];1451 -> 1463[label="",style="solid", color="black", weight=3]; 103.95/77.91 1452[label="primQuotInt (Neg vuz39) (Pos Zero)",fontsize=16,color="black",shape="box"];1452 -> 1464[label="",style="solid", color="black", weight=3]; 103.95/77.91 1453[label="primQuotInt (Neg vuz39) (Neg (Succ vuz4000))",fontsize=16,color="black",shape="box"];1453 -> 1465[label="",style="solid", color="black", weight=3]; 103.95/77.91 1454[label="primQuotInt (Neg vuz39) (Neg Zero)",fontsize=16,color="black",shape="box"];1454 -> 1466[label="",style="solid", color="black", weight=3]; 103.95/77.91 387[label="vuz41000",fontsize=16,color="green",shape="box"];388[label="vuz2100",fontsize=16,color="green",shape="box"];389 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 389 -> 2218[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 390 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 390 -> 1007[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 391 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 391 -> 1009[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 392 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 392 -> 2220[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 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]; 103.95/77.91 2643[label="Pos (primDivNatS vuz15 (Succ vuz8300))",fontsize=16,color="green",shape="box"];2643 -> 2670[label="",style="dashed", color="green", weight=3]; 103.95/77.91 2644 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 2646 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2646[label="error []",fontsize=16,color="magenta"];394 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 394 -> 2223[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 395 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 395 -> 1011[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 396 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 396 -> 1013[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 397 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 397 -> 2225[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1462[label="gcd2 (vuz30 * vuz40 == fromInt (Pos Zero)) (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1462 -> 1487[label="",style="solid", color="black", weight=3]; 103.95/77.91 1463[label="Neg (primDivNatS vuz39 (Succ vuz4000))",fontsize=16,color="green",shape="box"];1463 -> 1488[label="",style="dashed", color="green", weight=3]; 103.95/77.91 1464[label="error []",fontsize=16,color="black",shape="triangle"];1464 -> 1489[label="",style="solid", color="black", weight=3]; 103.95/77.91 1465[label="Pos (primDivNatS vuz39 (Succ vuz4000))",fontsize=16,color="green",shape="box"];1465 -> 1490[label="",style="dashed", color="green", weight=3]; 103.95/77.91 1466 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1466[label="error []",fontsize=16,color="magenta"];2217 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2217[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2217 -> 2625[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2217 -> 2626[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2218 -> 2627[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2218[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2218 -> 2628[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1006 -> 1447[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1006[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];1006 -> 1448[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1007 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1007[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1007 -> 1455[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1007 -> 1456[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1008 -> 1447[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1008[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];1008 -> 1449[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1009 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1009[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1009 -> 1457[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1009 -> 1458[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2219 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2219[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2219 -> 2635[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2219 -> 2636[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2220 -> 2627[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2220[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2220 -> 2629[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 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]; 103.95/77.91 2670 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2670[label="primDivNatS vuz15 (Succ vuz8300)",fontsize=16,color="magenta"];2670 -> 2686[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2670 -> 2687[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2671 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2671[label="primDivNatS vuz15 (Succ vuz8300)",fontsize=16,color="magenta"];2671 -> 2688[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2671 -> 2689[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2222 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2222[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2222 -> 2637[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2222 -> 2638[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2223 -> 2639[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2223[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];2223 -> 2640[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1010 -> 1459[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1010[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1010 -> 1460[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1011 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1011[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1011 -> 1467[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1011 -> 1468[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1012 -> 1459[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1012[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1012 -> 1461[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1013 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1013[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1013 -> 1469[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1013 -> 1470[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2224 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2224[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2224 -> 2647[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2224 -> 2648[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2225 -> 2639[label="",style="dashed", color="red", weight=0]; 103.95/77.91 2225[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];2225 -> 2641[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 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]; 103.95/77.91 1488[label="primDivNatS vuz39 (Succ vuz4000)",fontsize=16,color="burlywood",shape="triangle"];3213[label="vuz39/Succ vuz390",fontsize=10,color="white",style="solid",shape="box"];1488 -> 3213[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3213 -> 1502[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3214[label="vuz39/Zero",fontsize=10,color="white",style="solid",shape="box"];1488 -> 3214[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3214 -> 1503[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 1489[label="error []",fontsize=16,color="red",shape="box"];1490 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1490[label="primDivNatS vuz39 (Succ vuz4000)",fontsize=16,color="magenta"];1490 -> 1504[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 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]; 103.95/77.91 2628[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2628 -> 2649[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2628 -> 2650[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2627[label="reduce2D (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="triangle"];2627 -> 2651[label="",style="solid", color="black", weight=3]; 103.95/77.91 1448 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1448[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1448 -> 1471[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1448 -> 1472[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1447[label="reduce2D (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="triangle"];1447 -> 1473[label="",style="solid", color="black", weight=3]; 103.95/77.91 1455[label="vuz400",fontsize=16,color="green",shape="box"];1456[label="vuz300",fontsize=16,color="green",shape="box"];1449 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1449[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1449 -> 1474[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1449 -> 1475[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1457[label="vuz400",fontsize=16,color="green",shape="box"];1458[label="vuz300",fontsize=16,color="green",shape="box"];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]; 103.95/77.91 2629[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2629 -> 2652[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2629 -> 2653[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2685[label="gcd2 (primEqInt (primMulInt vuz30 vuz40) (fromInt (Pos Zero))) (primMulInt vuz30 vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3215[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];2685 -> 3215[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3215 -> 2701[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3216[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];2685 -> 3216[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3216 -> 2702[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 2686[label="vuz8300",fontsize=16,color="green",shape="box"];2687[label="vuz15",fontsize=16,color="green",shape="box"];2688[label="vuz8300",fontsize=16,color="green",shape="box"];2689[label="vuz15",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]; 103.95/77.91 2640[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2640 -> 2654[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2640 -> 2655[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2639[label="reduce2D (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];2639 -> 2656[label="",style="solid", color="black", weight=3]; 103.95/77.91 1460 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1460[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1460 -> 1476[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1460 -> 1477[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1459[label="reduce2D (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];1459 -> 1478[label="",style="solid", color="black", weight=3]; 103.95/77.91 1467[label="vuz400",fontsize=16,color="green",shape="box"];1468[label="vuz300",fontsize=16,color="green",shape="box"];1461 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.91 1461[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1461 -> 1479[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1461 -> 1480[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1469[label="vuz400",fontsize=16,color="green",shape="box"];1470[label="vuz300",fontsize=16,color="green",shape="box"];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]; 103.95/77.91 2641[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2641 -> 2657[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 2641 -> 2658[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1501[label="gcd2 (primEqInt (primMulInt vuz30 vuz40) (fromInt (Pos Zero))) (primMulInt vuz30 vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3217[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];1501 -> 3217[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3217 -> 1513[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3218[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];1501 -> 3218[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3218 -> 1514[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 1502[label="primDivNatS (Succ vuz390) (Succ vuz4000)",fontsize=16,color="black",shape="box"];1502 -> 1515[label="",style="solid", color="black", weight=3]; 103.95/77.91 1503[label="primDivNatS Zero (Succ vuz4000)",fontsize=16,color="black",shape="box"];1503 -> 1516[label="",style="solid", color="black", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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"];3219[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];2701 -> 3219[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3219 -> 2712[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3220[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];2701 -> 3220[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3220 -> 2713[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 2702[label="gcd2 (primEqInt (primMulInt (Neg vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3221[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];2702 -> 3221[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3221 -> 2714[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3222[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];2702 -> 3222[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3222 -> 2715[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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"];3223[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];1513 -> 3223[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3223 -> 1525[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3224[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];1513 -> 3224[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3224 -> 1526[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 1514[label="gcd2 (primEqInt (primMulInt (Neg vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3225[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];1514 -> 3225[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3225 -> 1527[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3226[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];1514 -> 3226[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3226 -> 1528[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 1515[label="primDivNatS0 vuz390 vuz4000 (primGEqNatS vuz390 vuz4000)",fontsize=16,color="burlywood",shape="box"];3227[label="vuz390/Succ vuz3900",fontsize=10,color="white",style="solid",shape="box"];1515 -> 3227[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3227 -> 1529[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3228[label="vuz390/Zero",fontsize=10,color="white",style="solid",shape="box"];1515 -> 3228[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3228 -> 1530[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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]; 103.95/77.91 1491[label="gcd3 (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="box"];1491 -> 1505[label="",style="solid", color="black", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 2673[label="gcd3 (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="box"];2673 -> 2691[label="",style="solid", color="black", weight=3]; 103.95/77.91 1492[label="gcd3 (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="box"];1492 -> 1506[label="",style="solid", color="black", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 1529[label="primDivNatS0 (Succ vuz3900) vuz4000 (primGEqNatS (Succ vuz3900) vuz4000)",fontsize=16,color="burlywood",shape="box"];3229[label="vuz4000/Succ vuz40000",fontsize=10,color="white",style="solid",shape="box"];1529 -> 3229[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3229 -> 1546[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3230[label="vuz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];1529 -> 3230[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3230 -> 1547[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 1530[label="primDivNatS0 Zero vuz4000 (primGEqNatS Zero vuz4000)",fontsize=16,color="burlywood",shape="box"];3231[label="vuz4000/Succ vuz40000",fontsize=10,color="white",style="solid",shape="box"];1530 -> 3231[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3231 -> 1548[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 3232[label="vuz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];1530 -> 3232[label="",style="solid", color="burlywood", weight=9]; 103.95/77.91 3232 -> 1549[label="",style="solid", color="burlywood", weight=3]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 2728 -> 2703[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 2729 -> 1517[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 2730 -> 1517[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 2731 -> 2703[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 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]; 103.95/77.91 1542 -> 1559[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 1542 -> 1561[label="",style="dashed", color="magenta", weight=3]; 103.95/77.91 1543 -> 1518[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 1544 -> 1518[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.91 1545 -> 1559[label="",style="dashed", color="red", weight=0]; 103.95/77.91 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]; 103.95/77.92 1545 -> 1563[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 1549[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1549 -> 1569[label="",style="solid", color="black", weight=3]; 103.95/77.92 2703[label="gcd2 (primEqInt (Pos vuz84) (fromInt (Pos Zero))) (Pos vuz84) (Pos vuz16)",fontsize=16,color="burlywood",shape="triangle"];3233[label="vuz84/Succ vuz840",fontsize=10,color="white",style="solid",shape="box"];2703 -> 3233[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3233 -> 2716[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3234[label="vuz84/Zero",fontsize=10,color="white",style="solid",shape="box"];2703 -> 3234[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3234 -> 2717[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 1517[label="gcd2 (primEqInt (Neg vuz41) (fromInt (Pos Zero))) (Neg vuz41) (Pos vuz16)",fontsize=16,color="burlywood",shape="triangle"];3235[label="vuz41/Succ vuz410",fontsize=10,color="white",style="solid",shape="box"];1517 -> 3235[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3235 -> 1531[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3236[label="vuz41/Zero",fontsize=10,color="white",style="solid",shape="box"];1517 -> 3236[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3236 -> 1532[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2743 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2743[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2743 -> 2759[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2743 -> 2760[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2744 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2744[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2744 -> 2761[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2744 -> 2762[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2745 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2745[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2745 -> 2763[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2745 -> 2764[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2746 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2746[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2746 -> 2765[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2746 -> 2766[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2704 -> 1559[label="",style="dashed", color="red", weight=0]; 103.95/77.92 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]; 103.95/77.92 2704 -> 2719[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1518[label="gcd2 (primEqInt (Neg vuz42) (fromInt (Pos Zero))) (Neg vuz42) (Neg vuz19)",fontsize=16,color="burlywood",shape="triangle"];3237[label="vuz42/Succ vuz420",fontsize=10,color="white",style="solid",shape="box"];1518 -> 3237[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3237 -> 1533[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3238[label="vuz42/Zero",fontsize=10,color="white",style="solid",shape="box"];1518 -> 3238[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3238 -> 1534[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 1560 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1560[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1560 -> 1570[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1560 -> 1571[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1561 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1561[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1561 -> 1572[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1561 -> 1573[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1559[label="gcd2 (primEqInt (Pos vuz44) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="burlywood",shape="triangle"];3239[label="vuz44/Succ vuz440",fontsize=10,color="white",style="solid",shape="box"];1559 -> 3239[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3239 -> 1574[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3240[label="vuz44/Zero",fontsize=10,color="white",style="solid",shape="box"];1559 -> 3240[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3240 -> 1575[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 1564 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1564[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1564 -> 1588[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1564 -> 1589[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1565 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1565[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1565 -> 1590[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1565 -> 1591[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1562 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1562[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1562 -> 1576[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1562 -> 1577[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1563 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1563[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1563 -> 1578[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1563 -> 1579[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1566 -> 2163[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1566[label="primDivNatS0 (Succ vuz3900) (Succ vuz40000) (primGEqNatS vuz3900 vuz40000)",fontsize=16,color="magenta"];1566 -> 2164[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1566 -> 2165[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1566 -> 2166[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1566 -> 2167[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1567[label="primDivNatS0 (Succ vuz3900) Zero True",fontsize=16,color="black",shape="box"];1567 -> 1594[label="",style="solid", color="black", weight=3]; 103.95/77.92 1568[label="primDivNatS0 Zero (Succ vuz40000) False",fontsize=16,color="black",shape="box"];1568 -> 1595[label="",style="solid", color="black", weight=3]; 103.95/77.92 1569[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];1569 -> 1596[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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"];3241[label="vuz81/Succ vuz810",fontsize=10,color="white",style="solid",shape="box"];2163 -> 3241[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3241 -> 2204[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3242[label="vuz81/Zero",fontsize=10,color="white",style="solid",shape="box"];2163 -> 3242[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3242 -> 2205[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 2204[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS (Succ vuz810) vuz82)",fontsize=16,color="burlywood",shape="box"];3243[label="vuz82/Succ vuz820",fontsize=10,color="white",style="solid",shape="box"];2204 -> 3243[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3243 -> 2659[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3244[label="vuz82/Zero",fontsize=10,color="white",style="solid",shape="box"];2204 -> 3244[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3244 -> 2660[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2205[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS Zero vuz82)",fontsize=16,color="burlywood",shape="box"];3245[label="vuz82/Succ vuz820",fontsize=10,color="white",style="solid",shape="box"];2205 -> 3245[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3245 -> 2661[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3246[label="vuz82/Zero",fontsize=10,color="white",style="solid",shape="box"];2205 -> 3246[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3246 -> 2662[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 1611 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1611[label="primDivNatS (primMinusNatS (Succ vuz3900) Zero) (Succ Zero)",fontsize=16,color="magenta"];1611 -> 1627[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1611 -> 1628[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1612 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1612[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];1612 -> 1629[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1612 -> 1630[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2747[label="gcd2 False (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2747 -> 2767[label="",style="solid", color="black", weight=3]; 103.95/77.92 2748[label="gcd2 True (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2748 -> 2768[label="",style="solid", color="black", weight=3]; 103.95/77.92 1580[label="gcd2 False (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1580 -> 1599[label="",style="solid", color="black", weight=3]; 103.95/77.92 1581[label="gcd2 True (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1581 -> 1600[label="",style="solid", color="black", weight=3]; 103.95/77.92 1582[label="gcd2 False (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1582 -> 1601[label="",style="solid", color="black", weight=3]; 103.95/77.92 1583[label="gcd2 True (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1583 -> 1602[label="",style="solid", color="black", weight=3]; 103.95/77.92 1613[label="gcd2 False (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1613 -> 1631[label="",style="solid", color="black", weight=3]; 103.95/77.92 1614[label="gcd2 True (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1614 -> 1632[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 1627[label="Zero",fontsize=16,color="green",shape="box"];1628[label="primMinusNatS (Succ vuz3900) Zero",fontsize=16,color="black",shape="triangle"];1628 -> 1648[label="",style="solid", color="black", weight=3]; 103.95/77.92 1629[label="Zero",fontsize=16,color="green",shape="box"];1630[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];1630 -> 1649[label="",style="solid", color="black", weight=3]; 103.95/77.92 2767[label="gcd0 (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2767 -> 2783[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 1599[label="gcd0 (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1599 -> 1615[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 1601[label="gcd0 (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1601 -> 1617[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 1631[label="gcd0 (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];1631 -> 1650[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 2674 -> 2163[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2674[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS vuz810 vuz820)",fontsize=16,color="magenta"];2674 -> 2692[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2674 -> 2693[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2675[label="primDivNatS0 (Succ vuz79) (Succ vuz80) True",fontsize=16,color="black",shape="triangle"];2675 -> 2694[label="",style="solid", color="black", weight=3]; 103.95/77.92 2676[label="primDivNatS0 (Succ vuz79) (Succ vuz80) False",fontsize=16,color="black",shape="box"];2676 -> 2695[label="",style="solid", color="black", weight=3]; 103.95/77.92 2677 -> 2675[label="",style="dashed", color="red", weight=0]; 103.95/77.92 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]; 103.95/77.92 2783[label="gcd0Gcd' (abs (Pos (Succ vuz840))) (abs (Pos vuz16))",fontsize=16,color="magenta"];2783 -> 2803[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2783 -> 2804[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2784[label="gcd1 (primEqInt (Pos vuz16) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3247[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];2784 -> 3247[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3247 -> 2817[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3248[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];2784 -> 3248[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3248 -> 2818[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 1615 -> 2802[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1615[label="gcd0Gcd' (abs (Neg (Succ vuz410))) (abs (Pos vuz16))",fontsize=16,color="magenta"];1615 -> 2805[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1615 -> 2806[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1616[label="gcd1 (primEqInt (Pos vuz16) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3249[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];1616 -> 3249[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3249 -> 1634[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3250[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];1616 -> 3250[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3250 -> 1635[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 1617 -> 2802[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1617[label="gcd0Gcd' (abs (Neg (Succ vuz420))) (abs (Neg vuz19))",fontsize=16,color="magenta"];1617 -> 2807[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1617 -> 2808[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1618[label="gcd1 (primEqInt (Neg vuz19) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3251[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];1618 -> 3251[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3251 -> 1637[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3252[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];1618 -> 3252[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3252 -> 1638[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 1650 -> 2802[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1650[label="gcd0Gcd' (abs (Pos vuz43)) (abs (Neg vuz19))",fontsize=16,color="magenta"];1650 -> 2809[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1650 -> 2810[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1651[label="gcd1 (primEqInt (Neg vuz19) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3253[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];1651 -> 3253[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3253 -> 1670[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3254[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];1651 -> 3254[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3254 -> 1671[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 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]; 103.95/77.92 2695[label="Zero",fontsize=16,color="green",shape="box"];2803[label="abs (Pos (Succ vuz840))",fontsize=16,color="black",shape="box"];2803 -> 2819[label="",style="solid", color="black", weight=3]; 103.95/77.92 2804[label="abs (Pos vuz16)",fontsize=16,color="black",shape="triangle"];2804 -> 2820[label="",style="solid", color="black", weight=3]; 103.95/77.92 2802[label="gcd0Gcd' vuz87 vuz86",fontsize=16,color="black",shape="triangle"];2802 -> 2821[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 2805[label="abs (Neg (Succ vuz410))",fontsize=16,color="black",shape="triangle"];2805 -> 2822[label="",style="solid", color="black", weight=3]; 103.95/77.92 2806 -> 2804[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2806[label="abs (Pos vuz16)",fontsize=16,color="magenta"];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]; 103.95/77.92 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]; 103.95/77.92 2807 -> 2805[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2807[label="abs (Neg (Succ vuz420))",fontsize=16,color="magenta"];2807 -> 2823[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2808[label="abs (Neg vuz19)",fontsize=16,color="black",shape="triangle"];2808 -> 2824[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 2809 -> 2804[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2809[label="abs (Pos vuz43)",fontsize=16,color="magenta"];2809 -> 2825[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2810 -> 2808[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2810[label="abs (Neg vuz19)",fontsize=16,color="magenta"];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]; 103.95/77.92 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]; 103.95/77.92 2705 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2705[label="primDivNatS (primMinusNatS (Succ vuz79) (Succ vuz80)) (Succ (Succ vuz80))",fontsize=16,color="magenta"];2705 -> 2720[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2705 -> 2721[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2819[label="absReal (Pos (Succ vuz840))",fontsize=16,color="black",shape="box"];2819 -> 2834[label="",style="solid", color="black", weight=3]; 103.95/77.92 2820[label="absReal (Pos vuz16)",fontsize=16,color="black",shape="box"];2820 -> 2835[label="",style="solid", color="black", weight=3]; 103.95/77.92 2821[label="gcd0Gcd'2 vuz87 vuz86",fontsize=16,color="black",shape="box"];2821 -> 2836[label="",style="solid", color="black", weight=3]; 103.95/77.92 2832[label="gcd1 (primEqInt (Pos (Succ vuz160)) (Pos Zero)) (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2832 -> 2839[label="",style="solid", color="black", weight=3]; 103.95/77.92 2833[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2833 -> 2840[label="",style="solid", color="black", weight=3]; 103.95/77.92 2822[label="absReal (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2822 -> 2837[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 2823[label="vuz420",fontsize=16,color="green",shape="box"];2824[label="absReal (Neg vuz19)",fontsize=16,color="black",shape="box"];2824 -> 2838[label="",style="solid", color="black", weight=3]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 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]; 103.95/77.92 2720[label="Succ vuz80",fontsize=16,color="green",shape="box"];2721[label="primMinusNatS (Succ vuz79) (Succ vuz80)",fontsize=16,color="black",shape="box"];2721 -> 2734[label="",style="solid", color="black", weight=3]; 103.95/77.92 2834[label="absReal2 (Pos (Succ vuz840))",fontsize=16,color="black",shape="box"];2834 -> 2841[label="",style="solid", color="black", weight=3]; 103.95/77.92 2835[label="absReal2 (Pos vuz16)",fontsize=16,color="black",shape="box"];2835 -> 2842[label="",style="solid", color="black", weight=3]; 103.95/77.92 2836[label="gcd0Gcd'1 (vuz86 == fromInt (Pos Zero)) vuz87 vuz86",fontsize=16,color="black",shape="box"];2836 -> 2843[label="",style="solid", color="black", weight=3]; 103.95/77.92 2839[label="gcd1 False (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2839 -> 2846[label="",style="solid", color="black", weight=3]; 103.95/77.92 2840[label="gcd1 True (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2840 -> 2847[label="",style="solid", color="black", weight=3]; 103.95/77.92 2837[label="absReal2 (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2837 -> 2844[label="",style="solid", color="black", weight=3]; 103.95/77.92 1673[label="gcd1 False (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1673 -> 1697[label="",style="solid", color="black", weight=3]; 103.95/77.92 1674[label="gcd1 True (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1674 -> 1698[label="",style="solid", color="black", weight=3]; 103.95/77.92 2838[label="absReal2 (Neg vuz19)",fontsize=16,color="black",shape="box"];2838 -> 2845[label="",style="solid", color="black", weight=3]; 103.95/77.92 1676[label="gcd1 False (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1676 -> 1700[label="",style="solid", color="black", weight=3]; 103.95/77.92 1677[label="gcd1 True (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];1677 -> 1701[label="",style="solid", color="black", weight=3]; 103.95/77.92 1716[label="gcd1 False (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1716 -> 1735[label="",style="solid", color="black", weight=3]; 103.95/77.92 1717[label="gcd1 True (Pos vuz43) (Neg Zero)",fontsize=16,color="black",shape="box"];1717 -> 1736[label="",style="solid", color="black", weight=3]; 103.95/77.92 2734[label="primMinusNatS vuz79 vuz80",fontsize=16,color="burlywood",shape="triangle"];3255[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];2734 -> 3255[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3255 -> 2749[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3256[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];2734 -> 3256[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3256 -> 2750[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2841[label="absReal1 (Pos (Succ vuz840)) (Pos (Succ vuz840) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2841 -> 2848[label="",style="solid", color="black", weight=3]; 103.95/77.92 2842[label="absReal1 (Pos vuz16) (Pos vuz16 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2842 -> 2849[label="",style="solid", color="black", weight=3]; 103.95/77.92 2843[label="gcd0Gcd'1 (primEqInt vuz86 (fromInt (Pos Zero))) vuz87 vuz86",fontsize=16,color="burlywood",shape="box"];3257[label="vuz86/Pos vuz860",fontsize=10,color="white",style="solid",shape="box"];2843 -> 3257[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3257 -> 2850[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3258[label="vuz86/Neg vuz860",fontsize=10,color="white",style="solid",shape="box"];2843 -> 3258[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3258 -> 2851[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2846[label="gcd0 (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2846 -> 2854[label="",style="solid", color="black", weight=3]; 103.95/77.92 2847 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2847[label="error []",fontsize=16,color="magenta"];2844[label="absReal1 (Neg (Succ vuz410)) (Neg (Succ vuz410) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2844 -> 2852[label="",style="solid", color="black", weight=3]; 103.95/77.92 1697[label="gcd0 (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1697 -> 1719[label="",style="solid", color="black", weight=3]; 103.95/77.92 1698 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1698[label="error []",fontsize=16,color="magenta"];2845[label="absReal1 (Neg vuz19) (Neg vuz19 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2845 -> 2853[label="",style="solid", color="black", weight=3]; 103.95/77.92 1700[label="gcd0 (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1700 -> 1721[label="",style="solid", color="black", weight=3]; 103.95/77.92 1701 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1701[label="error []",fontsize=16,color="magenta"];1735 -> 1631[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1735[label="gcd0 (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="magenta"];1735 -> 1759[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1736 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1736[label="error []",fontsize=16,color="magenta"];2749[label="primMinusNatS (Succ vuz790) vuz80",fontsize=16,color="burlywood",shape="box"];3259[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];2749 -> 3259[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3259 -> 2769[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3260[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];2749 -> 3260[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3260 -> 2770[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2750[label="primMinusNatS Zero vuz80",fontsize=16,color="burlywood",shape="box"];3261[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];2750 -> 3261[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3261 -> 2771[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3262[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];2750 -> 3262[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3262 -> 2772[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2848[label="absReal1 (Pos (Succ vuz840)) (compare (Pos (Succ vuz840)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2848 -> 2855[label="",style="solid", color="black", weight=3]; 103.95/77.92 2849[label="absReal1 (Pos vuz16) (compare (Pos vuz16) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2849 -> 2856[label="",style="solid", color="black", weight=3]; 103.95/77.92 2850[label="gcd0Gcd'1 (primEqInt (Pos vuz860) (fromInt (Pos Zero))) vuz87 (Pos vuz860)",fontsize=16,color="burlywood",shape="box"];3263[label="vuz860/Succ vuz8600",fontsize=10,color="white",style="solid",shape="box"];2850 -> 3263[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3263 -> 2857[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3264[label="vuz860/Zero",fontsize=10,color="white",style="solid",shape="box"];2850 -> 3264[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3264 -> 2858[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2851[label="gcd0Gcd'1 (primEqInt (Neg vuz860) (fromInt (Pos Zero))) vuz87 (Neg vuz860)",fontsize=16,color="burlywood",shape="box"];3265[label="vuz860/Succ vuz8600",fontsize=10,color="white",style="solid",shape="box"];2851 -> 3265[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3265 -> 2859[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3266[label="vuz860/Zero",fontsize=10,color="white",style="solid",shape="box"];2851 -> 3266[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3266 -> 2860[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2854 -> 2802[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2854[label="gcd0Gcd' (abs (Pos Zero)) (abs (Pos (Succ vuz160)))",fontsize=16,color="magenta"];2854 -> 2863[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2854 -> 2864[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2852[label="absReal1 (Neg (Succ vuz410)) (compare (Neg (Succ vuz410)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2852 -> 2861[label="",style="solid", color="black", weight=3]; 103.95/77.92 1719 -> 2802[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1719[label="gcd0Gcd' (abs (Neg Zero)) (abs (Pos (Succ vuz160)))",fontsize=16,color="magenta"];1719 -> 2811[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1719 -> 2812[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2853[label="absReal1 (Neg vuz19) (compare (Neg vuz19) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2853 -> 2862[label="",style="solid", color="black", weight=3]; 103.95/77.92 1721 -> 2802[label="",style="dashed", color="red", weight=0]; 103.95/77.92 1721[label="gcd0Gcd' (abs (Neg Zero)) (abs (Neg (Succ vuz190)))",fontsize=16,color="magenta"];1721 -> 2813[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 1721 -> 2814[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 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]; 103.95/77.92 2770[label="primMinusNatS (Succ vuz790) Zero",fontsize=16,color="black",shape="box"];2770 -> 2786[label="",style="solid", color="black", weight=3]; 103.95/77.92 2771[label="primMinusNatS Zero (Succ vuz800)",fontsize=16,color="black",shape="box"];2771 -> 2787[label="",style="solid", color="black", weight=3]; 103.95/77.92 2772[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];2772 -> 2788[label="",style="solid", color="black", weight=3]; 103.95/77.92 2855[label="absReal1 (Pos (Succ vuz840)) (not (compare (Pos (Succ vuz840)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2855 -> 2865[label="",style="solid", color="black", weight=3]; 103.95/77.92 2856[label="absReal1 (Pos vuz16) (not (compare (Pos vuz16) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2856 -> 2866[label="",style="solid", color="black", weight=3]; 103.95/77.92 2857[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz8600)) (fromInt (Pos Zero))) vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2857 -> 2867[label="",style="solid", color="black", weight=3]; 103.95/77.92 2858[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2858 -> 2868[label="",style="solid", color="black", weight=3]; 103.95/77.92 2859[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz8600)) (fromInt (Pos Zero))) vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2859 -> 2869[label="",style="solid", color="black", weight=3]; 103.95/77.92 2860[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2860 -> 2870[label="",style="solid", color="black", weight=3]; 103.95/77.92 2863 -> 2804[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2863[label="abs (Pos Zero)",fontsize=16,color="magenta"];2863 -> 2873[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2864 -> 2804[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2864[label="abs (Pos (Succ vuz160))",fontsize=16,color="magenta"];2864 -> 2874[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2861[label="absReal1 (Neg (Succ vuz410)) (not (compare (Neg (Succ vuz410)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2861 -> 2871[label="",style="solid", color="black", weight=3]; 103.95/77.92 2811 -> 2808[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2811[label="abs (Neg Zero)",fontsize=16,color="magenta"];2811 -> 2826[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2812 -> 2804[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2812[label="abs (Pos (Succ vuz160))",fontsize=16,color="magenta"];2812 -> 2827[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2862[label="absReal1 (Neg vuz19) (not (compare (Neg vuz19) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2862 -> 2872[label="",style="solid", color="black", weight=3]; 103.95/77.92 2813 -> 2808[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2813[label="abs (Neg Zero)",fontsize=16,color="magenta"];2813 -> 2828[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2814 -> 2808[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2814[label="abs (Neg (Succ vuz190))",fontsize=16,color="magenta"];2814 -> 2829[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2785 -> 2734[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2785[label="primMinusNatS vuz790 vuz800",fontsize=16,color="magenta"];2785 -> 2830[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2785 -> 2831[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 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"];2865[label="absReal1 (Pos (Succ vuz840)) (not (primCmpInt (Pos (Succ vuz840)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2865 -> 2875[label="",style="solid", color="black", weight=3]; 103.95/77.92 2866[label="absReal1 (Pos vuz16) (not (primCmpInt (Pos vuz16) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];3267[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];2866 -> 3267[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3267 -> 2876[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3268[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];2866 -> 3268[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3268 -> 2877[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2867[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz8600)) (Pos Zero)) vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2867 -> 2878[label="",style="solid", color="black", weight=3]; 103.95/77.92 2868[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2868 -> 2879[label="",style="solid", color="black", weight=3]; 103.95/77.92 2869[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz8600)) (Pos Zero)) vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2869 -> 2880[label="",style="solid", color="black", weight=3]; 103.95/77.92 2870[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2870 -> 2881[label="",style="solid", color="black", weight=3]; 103.95/77.92 2873[label="Zero",fontsize=16,color="green",shape="box"];2874[label="Succ vuz160",fontsize=16,color="green",shape="box"];2871[label="absReal1 (Neg (Succ vuz410)) (not (primCmpInt (Neg (Succ vuz410)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2871 -> 2882[label="",style="solid", color="black", weight=3]; 103.95/77.92 2826[label="Zero",fontsize=16,color="green",shape="box"];2827[label="Succ vuz160",fontsize=16,color="green",shape="box"];2872[label="absReal1 (Neg vuz19) (not (primCmpInt (Neg vuz19) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];3269[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];2872 -> 3269[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3269 -> 2883[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3270[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];2872 -> 3270[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3270 -> 2884[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2828[label="Zero",fontsize=16,color="green",shape="box"];2829[label="Succ vuz190",fontsize=16,color="green",shape="box"];2830[label="vuz800",fontsize=16,color="green",shape="box"];2831[label="vuz790",fontsize=16,color="green",shape="box"];2875[label="absReal1 (Pos (Succ vuz840)) (not (primCmpInt (Pos (Succ vuz840)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];2875 -> 2885[label="",style="solid", color="black", weight=3]; 103.95/77.92 2876[label="absReal1 (Pos (Succ vuz160)) (not (primCmpInt (Pos (Succ vuz160)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2876 -> 2886[label="",style="solid", color="black", weight=3]; 103.95/77.92 2877[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2877 -> 2887[label="",style="solid", color="black", weight=3]; 103.95/77.92 2878[label="gcd0Gcd'1 False vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2878 -> 2888[label="",style="solid", color="black", weight=3]; 103.95/77.92 2879[label="gcd0Gcd'1 True vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2879 -> 2889[label="",style="solid", color="black", weight=3]; 103.95/77.92 2880[label="gcd0Gcd'1 False vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2880 -> 2890[label="",style="solid", color="black", weight=3]; 103.95/77.92 2881[label="gcd0Gcd'1 True vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2881 -> 2891[label="",style="solid", color="black", weight=3]; 103.95/77.92 2882[label="absReal1 (Neg (Succ vuz410)) (not (primCmpInt (Neg (Succ vuz410)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];2882 -> 2892[label="",style="solid", color="black", weight=3]; 103.95/77.92 2883[label="absReal1 (Neg (Succ vuz190)) (not (primCmpInt (Neg (Succ vuz190)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2883 -> 2893[label="",style="solid", color="black", weight=3]; 103.95/77.92 2884[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2884 -> 2894[label="",style="solid", color="black", weight=3]; 103.95/77.92 2885[label="absReal1 (Pos (Succ vuz840)) (not (primCmpNat (Succ vuz840) Zero == LT))",fontsize=16,color="black",shape="box"];2885 -> 2895[label="",style="solid", color="black", weight=3]; 103.95/77.92 2886 -> 2875[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2886[label="absReal1 (Pos (Succ vuz160)) (not (primCmpInt (Pos (Succ vuz160)) (Pos Zero) == LT))",fontsize=16,color="magenta"];2886 -> 2896[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2887[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2887 -> 2897[label="",style="solid", color="black", weight=3]; 103.95/77.92 2888[label="gcd0Gcd'0 vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2888 -> 2898[label="",style="solid", color="black", weight=3]; 103.95/77.92 2889[label="vuz87",fontsize=16,color="green",shape="box"];2890[label="gcd0Gcd'0 vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2890 -> 2899[label="",style="solid", color="black", weight=3]; 103.95/77.92 2891[label="vuz87",fontsize=16,color="green",shape="box"];2892[label="absReal1 (Neg (Succ vuz410)) (not (LT == LT))",fontsize=16,color="black",shape="box"];2892 -> 2900[label="",style="solid", color="black", weight=3]; 103.95/77.92 2893 -> 2882[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2893[label="absReal1 (Neg (Succ vuz190)) (not (primCmpInt (Neg (Succ vuz190)) (Pos Zero) == LT))",fontsize=16,color="magenta"];2893 -> 2901[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2894[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2894 -> 2902[label="",style="solid", color="black", weight=3]; 103.95/77.92 2895[label="absReal1 (Pos (Succ vuz840)) (not (GT == LT))",fontsize=16,color="black",shape="box"];2895 -> 2903[label="",style="solid", color="black", weight=3]; 103.95/77.92 2896[label="vuz160",fontsize=16,color="green",shape="box"];2897[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];2897 -> 2904[label="",style="solid", color="black", weight=3]; 103.95/77.92 2898 -> 2802[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2898[label="gcd0Gcd' (Pos (Succ vuz8600)) (vuz87 `rem` Pos (Succ vuz8600))",fontsize=16,color="magenta"];2898 -> 2905[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2898 -> 2906[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2899 -> 2802[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2899[label="gcd0Gcd' (Neg (Succ vuz8600)) (vuz87 `rem` Neg (Succ vuz8600))",fontsize=16,color="magenta"];2899 -> 2907[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2899 -> 2908[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2900[label="absReal1 (Neg (Succ vuz410)) (not True)",fontsize=16,color="black",shape="box"];2900 -> 2909[label="",style="solid", color="black", weight=3]; 103.95/77.92 2901[label="vuz190",fontsize=16,color="green",shape="box"];2902[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];2902 -> 2910[label="",style="solid", color="black", weight=3]; 103.95/77.92 2903[label="absReal1 (Pos (Succ vuz840)) (not False)",fontsize=16,color="black",shape="box"];2903 -> 2911[label="",style="solid", color="black", weight=3]; 103.95/77.92 2904[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];2904 -> 2912[label="",style="solid", color="black", weight=3]; 103.95/77.92 2905[label="Pos (Succ vuz8600)",fontsize=16,color="green",shape="box"];2906[label="vuz87 `rem` Pos (Succ vuz8600)",fontsize=16,color="black",shape="box"];2906 -> 2913[label="",style="solid", color="black", weight=3]; 103.95/77.92 2907[label="Neg (Succ vuz8600)",fontsize=16,color="green",shape="box"];2908[label="vuz87 `rem` Neg (Succ vuz8600)",fontsize=16,color="black",shape="box"];2908 -> 2914[label="",style="solid", color="black", weight=3]; 103.95/77.92 2909[label="absReal1 (Neg (Succ vuz410)) False",fontsize=16,color="black",shape="box"];2909 -> 2915[label="",style="solid", color="black", weight=3]; 103.95/77.92 2910[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];2910 -> 2916[label="",style="solid", color="black", weight=3]; 103.95/77.92 2911[label="absReal1 (Pos (Succ vuz840)) True",fontsize=16,color="black",shape="box"];2911 -> 2917[label="",style="solid", color="black", weight=3]; 103.95/77.92 2912[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];2912 -> 2918[label="",style="solid", color="black", weight=3]; 103.95/77.92 2913[label="primRemInt vuz87 (Pos (Succ vuz8600))",fontsize=16,color="burlywood",shape="box"];3271[label="vuz87/Pos vuz870",fontsize=10,color="white",style="solid",shape="box"];2913 -> 3271[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3271 -> 2919[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3272[label="vuz87/Neg vuz870",fontsize=10,color="white",style="solid",shape="box"];2913 -> 3272[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3272 -> 2920[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2914[label="primRemInt vuz87 (Neg (Succ vuz8600))",fontsize=16,color="burlywood",shape="box"];3273[label="vuz87/Pos vuz870",fontsize=10,color="white",style="solid",shape="box"];2914 -> 3273[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3273 -> 2921[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3274[label="vuz87/Neg vuz870",fontsize=10,color="white",style="solid",shape="box"];2914 -> 3274[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3274 -> 2922[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2915[label="absReal0 (Neg (Succ vuz410)) otherwise",fontsize=16,color="black",shape="box"];2915 -> 2923[label="",style="solid", color="black", weight=3]; 103.95/77.92 2916[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];2916 -> 2924[label="",style="solid", color="black", weight=3]; 103.95/77.92 2917[label="Pos (Succ vuz840)",fontsize=16,color="green",shape="box"];2918[label="Pos Zero",fontsize=16,color="green",shape="box"];2919[label="primRemInt (Pos vuz870) (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2919 -> 2925[label="",style="solid", color="black", weight=3]; 103.95/77.92 2920[label="primRemInt (Neg vuz870) (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2920 -> 2926[label="",style="solid", color="black", weight=3]; 103.95/77.92 2921[label="primRemInt (Pos vuz870) (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2921 -> 2927[label="",style="solid", color="black", weight=3]; 103.95/77.92 2922[label="primRemInt (Neg vuz870) (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2922 -> 2928[label="",style="solid", color="black", weight=3]; 103.95/77.92 2923[label="absReal0 (Neg (Succ vuz410)) True",fontsize=16,color="black",shape="box"];2923 -> 2929[label="",style="solid", color="black", weight=3]; 103.95/77.92 2924[label="Neg Zero",fontsize=16,color="green",shape="box"];2925[label="Pos (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2925 -> 2930[label="",style="dashed", color="green", weight=3]; 103.95/77.92 2926[label="Neg (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2926 -> 2931[label="",style="dashed", color="green", weight=3]; 103.95/77.92 2927[label="Pos (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2927 -> 2932[label="",style="dashed", color="green", weight=3]; 103.95/77.92 2928[label="Neg (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2928 -> 2933[label="",style="dashed", color="green", weight=3]; 103.95/77.92 2929[label="`negate` Neg (Succ vuz410)",fontsize=16,color="black",shape="box"];2929 -> 2934[label="",style="solid", color="black", weight=3]; 103.95/77.92 2930[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="burlywood",shape="triangle"];3275[label="vuz870/Succ vuz8700",fontsize=10,color="white",style="solid",shape="box"];2930 -> 3275[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3275 -> 2935[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3276[label="vuz870/Zero",fontsize=10,color="white",style="solid",shape="box"];2930 -> 3276[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3276 -> 2936[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2931 -> 2930[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2931[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2931 -> 2937[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2932 -> 2930[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2932[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2932 -> 2938[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2933 -> 2930[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2933[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2933 -> 2939[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2933 -> 2940[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2934[label="primNegInt (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2934 -> 2941[label="",style="solid", color="black", weight=3]; 103.95/77.92 2935[label="primModNatS (Succ vuz8700) (Succ vuz8600)",fontsize=16,color="black",shape="box"];2935 -> 2942[label="",style="solid", color="black", weight=3]; 103.95/77.92 2936[label="primModNatS Zero (Succ vuz8600)",fontsize=16,color="black",shape="box"];2936 -> 2943[label="",style="solid", color="black", weight=3]; 103.95/77.92 2937[label="vuz870",fontsize=16,color="green",shape="box"];2938[label="vuz8600",fontsize=16,color="green",shape="box"];2939[label="vuz870",fontsize=16,color="green",shape="box"];2940[label="vuz8600",fontsize=16,color="green",shape="box"];2941[label="Pos (Succ vuz410)",fontsize=16,color="green",shape="box"];2942[label="primModNatS0 vuz8700 vuz8600 (primGEqNatS vuz8700 vuz8600)",fontsize=16,color="burlywood",shape="box"];3277[label="vuz8700/Succ vuz87000",fontsize=10,color="white",style="solid",shape="box"];2942 -> 3277[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3277 -> 2944[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3278[label="vuz8700/Zero",fontsize=10,color="white",style="solid",shape="box"];2942 -> 3278[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3278 -> 2945[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2943[label="Zero",fontsize=16,color="green",shape="box"];2944[label="primModNatS0 (Succ vuz87000) vuz8600 (primGEqNatS (Succ vuz87000) vuz8600)",fontsize=16,color="burlywood",shape="box"];3279[label="vuz8600/Succ vuz86000",fontsize=10,color="white",style="solid",shape="box"];2944 -> 3279[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3279 -> 2946[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3280[label="vuz8600/Zero",fontsize=10,color="white",style="solid",shape="box"];2944 -> 3280[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3280 -> 2947[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2945[label="primModNatS0 Zero vuz8600 (primGEqNatS Zero vuz8600)",fontsize=16,color="burlywood",shape="box"];3281[label="vuz8600/Succ vuz86000",fontsize=10,color="white",style="solid",shape="box"];2945 -> 3281[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3281 -> 2948[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3282[label="vuz8600/Zero",fontsize=10,color="white",style="solid",shape="box"];2945 -> 3282[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3282 -> 2949[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2946[label="primModNatS0 (Succ vuz87000) (Succ vuz86000) (primGEqNatS (Succ vuz87000) (Succ vuz86000))",fontsize=16,color="black",shape="box"];2946 -> 2950[label="",style="solid", color="black", weight=3]; 103.95/77.92 2947[label="primModNatS0 (Succ vuz87000) Zero (primGEqNatS (Succ vuz87000) Zero)",fontsize=16,color="black",shape="box"];2947 -> 2951[label="",style="solid", color="black", weight=3]; 103.95/77.92 2948[label="primModNatS0 Zero (Succ vuz86000) (primGEqNatS Zero (Succ vuz86000))",fontsize=16,color="black",shape="box"];2948 -> 2952[label="",style="solid", color="black", weight=3]; 103.95/77.92 2949[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2949 -> 2953[label="",style="solid", color="black", weight=3]; 103.95/77.92 2950 -> 3112[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2950[label="primModNatS0 (Succ vuz87000) (Succ vuz86000) (primGEqNatS vuz87000 vuz86000)",fontsize=16,color="magenta"];2950 -> 3113[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2950 -> 3114[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2950 -> 3115[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2950 -> 3116[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2951[label="primModNatS0 (Succ vuz87000) Zero True",fontsize=16,color="black",shape="box"];2951 -> 2956[label="",style="solid", color="black", weight=3]; 103.95/77.92 2952[label="primModNatS0 Zero (Succ vuz86000) False",fontsize=16,color="black",shape="box"];2952 -> 2957[label="",style="solid", color="black", weight=3]; 103.95/77.92 2953[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];2953 -> 2958[label="",style="solid", color="black", weight=3]; 103.95/77.92 3113[label="vuz87000",fontsize=16,color="green",shape="box"];3114[label="vuz87000",fontsize=16,color="green",shape="box"];3115[label="vuz86000",fontsize=16,color="green",shape="box"];3116[label="vuz86000",fontsize=16,color="green",shape="box"];3112[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz106 vuz107)",fontsize=16,color="burlywood",shape="triangle"];3283[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];3112 -> 3283[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3283 -> 3145[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3284[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];3112 -> 3284[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3284 -> 3146[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2956 -> 2930[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2956[label="primModNatS (primMinusNatS (Succ vuz87000) Zero) (Succ Zero)",fontsize=16,color="magenta"];2956 -> 2963[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2956 -> 2964[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2957[label="Succ Zero",fontsize=16,color="green",shape="box"];2958 -> 2930[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2958[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];2958 -> 2965[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2958 -> 2966[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 3145[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) vuz107)",fontsize=16,color="burlywood",shape="box"];3285[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];3145 -> 3285[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3285 -> 3147[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3286[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];3145 -> 3286[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3286 -> 3148[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3146[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero vuz107)",fontsize=16,color="burlywood",shape="box"];3287[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];3146 -> 3287[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3287 -> 3149[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 3288[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];3146 -> 3288[label="",style="solid", color="burlywood", weight=9]; 103.95/77.92 3288 -> 3150[label="",style="solid", color="burlywood", weight=3]; 103.95/77.92 2963 -> 2734[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2963[label="primMinusNatS (Succ vuz87000) Zero",fontsize=16,color="magenta"];2963 -> 2971[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2963 -> 2972[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2964[label="Zero",fontsize=16,color="green",shape="box"];2965 -> 2734[label="",style="dashed", color="red", weight=0]; 103.95/77.92 2965[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];2965 -> 2973[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2965 -> 2974[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 2966[label="Zero",fontsize=16,color="green",shape="box"];3147[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) (Succ vuz1070))",fontsize=16,color="black",shape="box"];3147 -> 3151[label="",style="solid", color="black", weight=3]; 103.95/77.92 3148[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) Zero)",fontsize=16,color="black",shape="box"];3148 -> 3152[label="",style="solid", color="black", weight=3]; 103.95/77.92 3149[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero (Succ vuz1070))",fontsize=16,color="black",shape="box"];3149 -> 3153[label="",style="solid", color="black", weight=3]; 103.95/77.92 3150[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3150 -> 3154[label="",style="solid", color="black", weight=3]; 103.95/77.92 2971[label="Zero",fontsize=16,color="green",shape="box"];2972[label="Succ vuz87000",fontsize=16,color="green",shape="box"];2973[label="Zero",fontsize=16,color="green",shape="box"];2974[label="Zero",fontsize=16,color="green",shape="box"];3151 -> 3112[label="",style="dashed", color="red", weight=0]; 103.95/77.92 3151[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz1060 vuz1070)",fontsize=16,color="magenta"];3151 -> 3155[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 3151 -> 3156[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 3152[label="primModNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="black",shape="triangle"];3152 -> 3157[label="",style="solid", color="black", weight=3]; 103.95/77.92 3153[label="primModNatS0 (Succ vuz104) (Succ vuz105) False",fontsize=16,color="black",shape="box"];3153 -> 3158[label="",style="solid", color="black", weight=3]; 103.95/77.92 3154 -> 3152[label="",style="dashed", color="red", weight=0]; 103.95/77.92 3154[label="primModNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="magenta"];3155[label="vuz1060",fontsize=16,color="green",shape="box"];3156[label="vuz1070",fontsize=16,color="green",shape="box"];3157 -> 2930[label="",style="dashed", color="red", weight=0]; 103.95/77.92 3157[label="primModNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105))",fontsize=16,color="magenta"];3157 -> 3159[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 3157 -> 3160[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 3158[label="Succ (Succ vuz104)",fontsize=16,color="green",shape="box"];3159 -> 2734[label="",style="dashed", color="red", weight=0]; 103.95/77.92 3159[label="primMinusNatS (Succ vuz104) (Succ vuz105)",fontsize=16,color="magenta"];3159 -> 3161[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 3159 -> 3162[label="",style="dashed", color="magenta", weight=3]; 103.95/77.92 3160[label="Succ vuz105",fontsize=16,color="green",shape="box"];3161[label="Succ vuz105",fontsize=16,color="green",shape="box"];3162[label="Succ vuz104",fontsize=16,color="green",shape="box"];} 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (12) 103.95/77.92 Complex Obligation (AND) 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (13) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) 103.95/77.92 new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primRemInt0(Neg(x0), x1) 103.95/77.92 new_primRemInt(Neg(x0), x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primRemInt(Pos(x0), x1) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primRemInt0(Pos(x0), x1) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (14) MNOCProof (EQUIVALENT) 103.95/77.92 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (15) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) 103.95/77.92 new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 103.95/77.92 Q is empty. 103.95/77.92 We have to consider all (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (16) InductionCalculusProof (EQUIVALENT) 103.95/77.92 Note that final constraints are written in bold face. 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 For Pair new_gcd0Gcd'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) the following chains were created: 103.95/77.92 *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: 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 103.95/77.92 103.95/77.92 (2) (new_primRemInt(x0, x1)=Pos(Succ(x3)) ==> new_gcd0Gcd'(x0, Pos(Succ(x1)))_>=_new_gcd0Gcd'(Pos(Succ(x1)), new_primRemInt(x0, x1))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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: 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 103.95/77.92 103.95/77.92 (4) (new_primModNatS1(x17, x16)=Succ(x3) ==> new_gcd0Gcd'(Pos(x17), Pos(Succ(x16)))_>=_new_gcd0Gcd'(Pos(Succ(x16)), new_primRemInt(Pos(x17), x16))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 103.95/77.92 103.95/77.92 (9) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x20))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x20))), new_primRemInt(Pos(Succ(Zero)), Succ(x20)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (10) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (11) (new_gcd0Gcd'(Pos(Succ(Succ(x21))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x21))), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 *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: 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 103.95/77.92 103.95/77.92 (2) (new_primRemInt(x4, x5)=Neg(Succ(x7)) ==> new_gcd0Gcd'(x4, Pos(Succ(x5)))_>=_new_gcd0Gcd'(Pos(Succ(x5)), new_primRemInt(x4, x5))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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: 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 103.95/77.92 103.95/77.92 (4) (new_primModNatS1(x38, x37)=Succ(x7) ==> new_gcd0Gcd'(Neg(x38), Pos(Succ(x37)))_>=_new_gcd0Gcd'(Pos(Succ(x37)), new_primRemInt(Neg(x38), x37))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 103.95/77.92 103.95/77.92 (9) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x39))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x39))), new_primRemInt(Neg(Succ(Zero)), Succ(x39)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (10) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (11) (new_gcd0Gcd'(Neg(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x40))), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 For Pair new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) the following chains were created: 103.95/77.92 *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: 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 103.95/77.92 103.95/77.92 (2) (new_primRemInt0(x8, x9)=Pos(Succ(x11)) ==> new_gcd0Gcd'(x8, Neg(Succ(x9)))_>=_new_gcd0Gcd'(Neg(Succ(x9)), new_primRemInt0(x8, x9))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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: 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 103.95/77.92 103.95/77.92 (4) (new_primModNatS1(x57, x56)=Succ(x11) ==> new_gcd0Gcd'(Pos(x57), Neg(Succ(x56)))_>=_new_gcd0Gcd'(Neg(Succ(x56)), new_primRemInt0(Pos(x57), x56))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 103.95/77.92 103.95/77.92 (9) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x58))), new_primRemInt0(Pos(Succ(Zero)), Succ(x58)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (10) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Zero)), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (11) (new_gcd0Gcd'(Pos(Succ(Succ(x59))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Succ(x59))), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 *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: 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 103.95/77.92 103.95/77.92 (2) (new_primRemInt0(x12, x13)=Neg(Succ(x15)) ==> new_gcd0Gcd'(x12, Neg(Succ(x13)))_>=_new_gcd0Gcd'(Neg(Succ(x13)), new_primRemInt0(x12, x13))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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: 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 103.95/77.92 103.95/77.92 (4) (new_primModNatS1(x74, x73)=Succ(x15) ==> new_gcd0Gcd'(Neg(x74), Neg(Succ(x73)))_>=_new_gcd0Gcd'(Neg(Succ(x73)), new_primRemInt0(Neg(x74), x73))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 103.95/77.92 103.95/77.92 (9) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x77))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x77))), new_primRemInt0(Neg(Succ(Zero)), Succ(x77)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (10) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Zero)), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (11) (new_gcd0Gcd'(Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Succ(x78))), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 To summarize, we get the following constraints P__>=_ for the following pairs. 103.95/77.92 103.95/77.92 *new_gcd0Gcd'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x20))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x20))), new_primRemInt(Pos(Succ(Zero)), Succ(x20)))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Pos(Succ(Succ(x21))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x21))), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Pos(Succ(Succ(x33))), Pos(Succ(Succ(x34))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x34))), new_primRemInt(Pos(Succ(Succ(x33))), Succ(x34)))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x39))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x39))), new_primRemInt(Neg(Succ(Zero)), Succ(x39)))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Neg(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x40))), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Neg(Succ(Succ(x52))), Pos(Succ(Succ(x53))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x53))), new_primRemInt(Neg(Succ(Succ(x52))), Succ(x53)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 *new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x58))), new_primRemInt0(Pos(Succ(Zero)), Succ(x58)))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Zero)), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Pos(Succ(Succ(x59))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Succ(x59))), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Pos(Succ(Succ(x71))), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x72))), new_primRemInt0(Pos(Succ(Succ(x71))), Succ(x72)))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x77))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x77))), new_primRemInt0(Neg(Succ(Zero)), Succ(x77)))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Zero)), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Succ(x78))), Zero))) 103.95/77.92 103.95/77.92 103.95/77.92 *(new_gcd0Gcd'(Neg(Succ(Succ(x90))), Neg(Succ(Succ(x91))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x91))), new_primRemInt0(Neg(Succ(Succ(x90))), Succ(x91)))) 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 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. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (17) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(vuz87, Pos(Succ(vuz8600))) -> new_gcd0Gcd'(Pos(Succ(vuz8600)), new_primRemInt(vuz87, vuz8600)) 103.95/77.92 new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primRemInt0(Neg(x0), x1) 103.95/77.92 new_primRemInt(Neg(x0), x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primRemInt(Pos(x0), x1) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primRemInt0(Pos(x0), x1) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (18) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (19) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 103.95/77.92 new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 103.95/77.92 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primRemInt0(Neg(x0), x1) 103.95/77.92 new_primRemInt(Neg(x0), x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primRemInt(Pos(x0), x1) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primRemInt0(Pos(x0), x1) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (20) DependencyGraphProof (EQUIVALENT) 103.95/77.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (21) 103.95/77.92 Complex Obligation (AND) 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (22) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primRemInt0(Neg(x0), x1) 103.95/77.92 new_primRemInt(Neg(x0), x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primRemInt(Pos(x0), x1) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primRemInt0(Pos(x0), x1) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (23) UsableRulesProof (EQUIVALENT) 103.95/77.92 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. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (24) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primRemInt0(Neg(x0), x1) 103.95/77.92 new_primRemInt(Neg(x0), x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primRemInt(Pos(x0), x1) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primRemInt0(Pos(x0), x1) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (25) QReductionProof (EQUIVALENT) 103.95/77.92 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 103.95/77.92 103.95/77.92 new_primRemInt0(Neg(x0), x1) 103.95/77.92 new_primRemInt(Neg(x0), x1) 103.95/77.92 new_primRemInt(Pos(x0), x1) 103.95/77.92 new_primRemInt0(Pos(x0), x1) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (26) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (27) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 (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)))) 103.95/77.92 (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)))) 103.95/77.92 (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)))) 103.95/77.92 (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))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (28) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.92 new_gcd0Gcd'(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (29) DependencyGraphProof (EQUIVALENT) 103.95/77.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (30) 103.95/77.92 Complex Obligation (AND) 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (31) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (32) UsableRulesProof (EQUIVALENT) 103.95/77.92 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. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (33) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (34) QReductionProof (EQUIVALENT) 103.95/77.92 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (35) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (36) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (37) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (38) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (39) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (40) DependencyGraphProof (EQUIVALENT) 103.95/77.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (41) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (42) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (43) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (44) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (45) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (46) DependencyGraphProof (EQUIVALENT) 103.95/77.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (47) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (48) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (49) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (50) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (51) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.92 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))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (52) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (53) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 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))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (54) DependencyGraphProof (EQUIVALENT) 103.95/77.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (55) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 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))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (56) TransformationProof (EQUIVALENT) 103.95/77.92 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]: 103.95/77.92 103.95/77.92 (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)))) 103.95/77.92 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (57) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (58) QDPSizeChangeProof (EQUIVALENT) 103.95/77.92 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 103.95/77.92 103.95/77.92 Order:Polynomial interpretation [POLO]: 103.95/77.92 103.95/77.92 POL(Pos(x_1)) = x_1 103.95/77.92 POL(Succ(x_1)) = 1 + x_1 103.95/77.92 POL(Zero) = 1 103.95/77.92 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.92 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 From the DPs we obtained the following set of size-change graphs: 103.95/77.92 *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}) 103.95/77.92 The graph contains the following edges 2 >= 1, 1 > 2 103.95/77.92 103.95/77.92 103.95/77.92 *new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 103.95/77.92 The graph contains the following edges 2 >= 1, 1 >= 2 103.95/77.92 103.95/77.92 103.95/77.92 103.95/77.92 We oriented the following set of usable rules [AAECC05,FROCOS05]. 103.95/77.92 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (59) 103.95/77.92 YES 103.95/77.92 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (60) 103.95/77.92 Obligation: 103.95/77.92 Q DP problem: 103.95/77.92 The TRS P consists of the following rules: 103.95/77.92 103.95/77.92 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.92 103.95/77.92 The TRS R consists of the following rules: 103.95/77.92 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.92 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.92 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.92 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.92 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.92 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.92 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.92 103.95/77.92 The set Q consists of the following terms: 103.95/77.92 103.95/77.92 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.92 new_primModNatS02(x0, x1) 103.95/77.92 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.92 new_primModNatS1(Zero, x0) 103.95/77.92 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.92 new_primMinusNatS0(Zero, Zero) 103.95/77.92 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.92 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.92 new_primModNatS1(Succ(Zero), Zero) 103.95/77.92 103.95/77.92 We have to consider all minimal (P,Q,R)-chains. 103.95/77.92 ---------------------------------------- 103.95/77.92 103.95/77.92 (61) UsableRulesProof (EQUIVALENT) 103.95/77.92 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. 103.95/77.93 ---------------------------------------- 103.95/77.93 103.95/77.93 (62) 103.95/77.93 Obligation: 103.95/77.93 Q DP problem: 103.95/77.93 The TRS P consists of the following rules: 103.95/77.93 103.95/77.93 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.93 103.95/77.93 The TRS R consists of the following rules: 103.95/77.93 103.95/77.93 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.93 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.93 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.93 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.93 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.93 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.93 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.93 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.93 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.93 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.93 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.93 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.93 103.95/77.93 The set Q consists of the following terms: 103.95/77.93 103.95/77.93 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.93 new_primModNatS02(x0, x1) 103.95/77.93 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.93 new_primModNatS1(Zero, x0) 103.95/77.93 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.93 new_primMinusNatS0(Zero, Zero) 103.95/77.93 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.93 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.93 new_primModNatS1(Succ(Zero), Zero) 103.95/77.93 103.95/77.93 We have to consider all minimal (P,Q,R)-chains. 103.95/77.93 ---------------------------------------- 103.95/77.93 103.95/77.93 (63) TransformationProof (EQUIVALENT) 103.95/77.93 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]: 103.95/77.93 103.95/77.93 (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)))) 103.95/77.93 (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)))) 103.95/77.93 (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)))) 103.95/77.93 (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))))) 103.95/77.93 103.95/77.93 103.95/77.93 ---------------------------------------- 103.95/77.93 103.95/77.93 (64) 103.95/77.93 Obligation: 103.95/77.93 Q DP problem: 103.95/77.93 The TRS P consists of the following rules: 103.95/77.93 103.95/77.93 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 103.95/77.93 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))) 103.95/77.93 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 103.95/77.93 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.93 103.95/77.93 The TRS R consists of the following rules: 103.95/77.93 103.95/77.93 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.93 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.93 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.93 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.93 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.93 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.93 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.93 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.93 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.93 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.93 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.93 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.93 103.95/77.93 The set Q consists of the following terms: 103.95/77.93 103.95/77.93 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.93 new_primModNatS02(x0, x1) 103.95/77.93 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.93 new_primModNatS1(Zero, x0) 103.95/77.93 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.93 new_primMinusNatS0(Zero, Zero) 103.95/77.93 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.93 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.93 new_primModNatS1(Succ(Zero), Zero) 103.95/77.93 103.95/77.93 We have to consider all minimal (P,Q,R)-chains. 103.95/77.93 ---------------------------------------- 103.95/77.93 103.95/77.93 (65) DependencyGraphProof (EQUIVALENT) 103.95/77.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 103.95/77.93 ---------------------------------------- 103.95/77.93 103.95/77.93 (66) 103.95/77.93 Complex Obligation (AND) 103.95/77.93 103.95/77.93 ---------------------------------------- 103.95/77.93 103.95/77.93 (67) 103.95/77.93 Obligation: 103.95/77.93 Q DP problem: 103.95/77.93 The TRS P consists of the following rules: 103.95/77.93 103.95/77.93 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (68) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (69) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 103.95/77.94 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)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (70) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (71) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 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)))) 103.95/77.94 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)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (72) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (73) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 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)))) 103.95/77.94 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)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (74) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (75) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 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)))) 103.95/77.94 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)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (76) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (77) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 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)))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (78) DependencyGraphProof (EQUIVALENT) 103.95/77.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (79) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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)))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (80) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (81) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (82) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (83) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 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))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (84) DependencyGraphProof (EQUIVALENT) 103.95/77.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (85) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (86) QDPOrderProof (EQUIVALENT) 103.95/77.94 We use the reduction pair processor [LPAR04,JAR06]. 103.95/77.94 103.95/77.94 103.95/77.94 The following pairs can be oriented strictly and are deleted. 103.95/77.94 103.95/77.94 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))) 103.95/77.94 The remaining pairs can at least be oriented weakly. 103.95/77.94 Used ordering: Polynomial interpretation [POLO]: 103.95/77.94 103.95/77.94 POL(Pos(x_1)) = 2*x_1 103.95/77.94 POL(Succ(x_1)) = 1 + x_1 103.95/77.94 POL(Zero) = 0 103.95/77.94 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 103.95/77.94 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.94 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 3 + x_1 103.95/77.94 POL(new_primModNatS02(x_1, x_2)) = 3 + x_1 103.95/77.94 POL(new_primModNatS1(x_1, x_2)) = 2 + x_1 103.95/77.94 103.95/77.94 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (87) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (88) DependencyGraphProof (EQUIVALENT) 103.95/77.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (89) 103.95/77.94 TRUE 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (90) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (91) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 (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)))) 103.95/77.94 (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))))) 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (92) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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)))) 103.95/77.94 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))) 103.95/77.94 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)))) 103.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (93) DependencyGraphProof (EQUIVALENT) 103.95/77.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (94) 103.95/77.94 Complex Obligation (AND) 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (95) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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)))) 103.95/77.94 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))))) 103.95/77.94 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)))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (96) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (97) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 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)))) 103.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (98) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (99) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (100) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (101) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (102) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (103) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 103.95/77.94 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.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (104) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (105) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 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.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (106) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (107) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (108) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (109) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (110) DependencyGraphProof (EQUIVALENT) 103.95/77.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (111) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (112) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (113) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (114) QDPOrderProof (EQUIVALENT) 103.95/77.94 We use the reduction pair processor [LPAR04,JAR06]. 103.95/77.94 103.95/77.94 103.95/77.94 The following pairs can be oriented strictly and are deleted. 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 The remaining pairs can at least be oriented weakly. 103.95/77.94 Used ordering: Polynomial interpretation [POLO]: 103.95/77.94 103.95/77.94 POL(Pos(x_1)) = 2*x_1 103.95/77.94 POL(Succ(x_1)) = 1 + x_1 103.95/77.94 POL(Zero) = 0 103.95/77.94 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 103.95/77.94 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.94 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 103.95/77.94 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 103.95/77.94 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.94 103.95/77.94 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (115) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (116) DependencyGraphProof (EQUIVALENT) 103.95/77.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (117) 103.95/77.94 TRUE 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (118) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (119) InductionCalculusProof (EQUIVALENT) 103.95/77.94 Note that final constraints are written in bold face. 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 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: 103.95/77.94 *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: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 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: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 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: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (4) using rule (IV) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 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: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 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: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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))))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 To summarize, we get the following constraints P__>=_ for the following pairs. 103.95/77.94 103.95/77.94 *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))) 103.95/77.94 103.95/77.94 *(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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 *(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))))) 103.95/77.94 103.95/77.94 103.95/77.94 *(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)))) 103.95/77.94 103.95/77.94 103.95/77.94 *(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))))) 103.95/77.94 103.95/77.94 103.95/77.94 *(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)))))) 103.95/77.94 103.95/77.94 103.95/77.94 *(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))))) 103.95/77.94 103.95/77.94 103.95/77.94 *(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)))) 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 103.95/77.94 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. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (120) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 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))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (121) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 103.95/77.94 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primRemInt(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.94 new_primRemInt(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primRemInt0(Neg(x0), x1) 103.95/77.94 new_primRemInt(Neg(x0), x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primRemInt(Pos(x0), x1) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primRemInt0(Pos(x0), x1) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (122) UsableRulesProof (EQUIVALENT) 103.95/77.94 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. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (123) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 103.95/77.94 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.94 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primRemInt0(Neg(x0), x1) 103.95/77.94 new_primRemInt(Neg(x0), x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primRemInt(Pos(x0), x1) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primRemInt0(Pos(x0), x1) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (124) QReductionProof (EQUIVALENT) 103.95/77.94 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 103.95/77.94 103.95/77.94 new_primRemInt(Neg(x0), x1) 103.95/77.94 new_primRemInt(Pos(x0), x1) 103.95/77.94 103.95/77.94 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (125) 103.95/77.94 Obligation: 103.95/77.94 Q DP problem: 103.95/77.94 The TRS P consists of the following rules: 103.95/77.94 103.95/77.94 new_gcd0Gcd'(vuz87, Neg(Succ(vuz8600))) -> new_gcd0Gcd'(Neg(Succ(vuz8600)), new_primRemInt0(vuz87, vuz8600)) 103.95/77.94 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.94 103.95/77.94 The TRS R consists of the following rules: 103.95/77.94 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.94 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.94 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.94 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.94 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.94 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.94 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.94 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.94 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.94 103.95/77.94 The set Q consists of the following terms: 103.95/77.94 103.95/77.94 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.94 new_primModNatS02(x0, x1) 103.95/77.94 new_primRemInt0(Neg(x0), x1) 103.95/77.94 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.94 new_primModNatS1(Zero, x0) 103.95/77.94 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.94 new_primMinusNatS0(Zero, Zero) 103.95/77.94 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.94 new_primRemInt0(Pos(x0), x1) 103.95/77.94 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.94 new_primModNatS1(Succ(Zero), Zero) 103.95/77.94 103.95/77.94 We have to consider all minimal (P,Q,R)-chains. 103.95/77.94 ---------------------------------------- 103.95/77.94 103.95/77.94 (126) TransformationProof (EQUIVALENT) 103.95/77.94 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]: 103.95/77.94 103.95/77.94 (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)))) 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (127) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.95 new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.95 new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.95 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primRemInt0(Neg(x0), x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primRemInt0(Pos(x0), x1) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (128) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (129) 103.95/77.95 Complex Obligation (AND) 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (130) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.95 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primRemInt0(Neg(x0), x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primRemInt0(Pos(x0), x1) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (131) UsableRulesProof (EQUIVALENT) 103.95/77.95 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. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (132) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primRemInt0(Neg(x0), x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primRemInt0(Pos(x0), x1) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (133) QReductionProof (EQUIVALENT) 103.95/77.95 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 103.95/77.95 103.95/77.95 new_primRemInt0(Neg(x0), x1) 103.95/77.95 new_primRemInt0(Pos(x0), x1) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (134) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (135) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 (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)))) 103.95/77.95 (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)))) 103.95/77.95 (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)))) 103.95/77.95 (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))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (136) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.95 new_gcd0Gcd'(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (137) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (138) 103.95/77.95 Complex Obligation (AND) 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (139) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (140) UsableRulesProof (EQUIVALENT) 103.95/77.95 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. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (141) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (142) QReductionProof (EQUIVALENT) 103.95/77.95 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (143) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (144) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (145) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (146) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (147) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (148) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (149) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (150) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (151) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (152) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (153) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (154) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (155) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (156) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (157) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (158) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (159) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 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))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (160) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (161) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (162) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (163) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (164) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (165) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (166) QDPSizeChangeProof (EQUIVALENT) 103.95/77.95 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 103.95/77.95 103.95/77.95 Order:Polynomial interpretation [POLO]: 103.95/77.95 103.95/77.95 POL(Neg(x_1)) = x_1 103.95/77.95 POL(Succ(x_1)) = 1 + x_1 103.95/77.95 POL(Zero) = 1 103.95/77.95 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.95 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.95 103.95/77.95 103.95/77.95 103.95/77.95 103.95/77.95 From the DPs we obtained the following set of size-change graphs: 103.95/77.95 *new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 103.95/77.95 The graph contains the following edges 2 >= 1, 1 >= 2 103.95/77.95 103.95/77.95 103.95/77.95 *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}) 103.95/77.95 The graph contains the following edges 2 >= 1, 1 > 2 103.95/77.95 103.95/77.95 103.95/77.95 103.95/77.95 We oriented the following set of usable rules [AAECC05,FROCOS05]. 103.95/77.95 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (167) 103.95/77.95 YES 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (168) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (169) UsableRulesProof (EQUIVALENT) 103.95/77.95 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. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (170) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (171) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 (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)))) 103.95/77.95 (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)))) 103.95/77.95 (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))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (172) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 103.95/77.95 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))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (173) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (174) 103.95/77.95 Complex Obligation (AND) 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (175) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (176) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (177) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 103.95/77.95 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)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (178) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (179) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 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)))) 103.95/77.95 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)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (180) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (181) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 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)))) 103.95/77.95 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)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (182) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (183) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 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)))) 103.95/77.95 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)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (184) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (185) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 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)))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (186) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (187) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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)))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (188) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (189) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (190) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))) 103.95/77.95 (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)))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (191) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 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))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (192) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (193) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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))) 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (194) QDPOrderProof (EQUIVALENT) 103.95/77.95 We use the reduction pair processor [LPAR04,JAR06]. 103.95/77.95 103.95/77.95 103.95/77.95 The following pairs can be oriented strictly and are deleted. 103.95/77.95 103.95/77.95 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))) 103.95/77.95 The remaining pairs can at least be oriented weakly. 103.95/77.95 Used ordering: Polynomial interpretation [POLO]: 103.95/77.95 103.95/77.95 POL(Neg(x_1)) = 2*x_1 103.95/77.95 POL(Succ(x_1)) = 1 + x_1 103.95/77.95 POL(Zero) = 0 103.95/77.95 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 103.95/77.95 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.95 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 3 + x_1 103.95/77.95 POL(new_primModNatS02(x_1, x_2)) = 3 + x_1 103.95/77.95 POL(new_primModNatS1(x_1, x_2)) = 2 + x_1 103.95/77.95 103.95/77.95 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (195) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (196) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (197) 103.95/77.95 TRUE 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (198) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (199) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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))))) 103.95/77.95 (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)))) 103.95/77.95 (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))))) 103.95/77.95 (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)))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (200) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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)))) 103.95/77.95 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))) 103.95/77.95 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)))) 103.95/77.95 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))))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (201) DependencyGraphProof (EQUIVALENT) 103.95/77.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (202) 103.95/77.95 Complex Obligation (AND) 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (203) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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)))) 103.95/77.95 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))))) 103.95/77.95 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)))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (204) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (205) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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))))) 103.95/77.95 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)))) 103.95/77.95 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))))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (206) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (207) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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))))) 103.95/77.95 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))))) 103.95/77.95 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))))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (208) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (209) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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))))) 103.95/77.95 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))))) 103.95/77.95 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))))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (210) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (211) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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))))) 103.95/77.95 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))))) 103.95/77.95 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))))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.95 103.95/77.95 The set Q consists of the following terms: 103.95/77.95 103.95/77.95 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.95 new_primModNatS02(x0, x1) 103.95/77.95 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.95 new_primModNatS1(Zero, x0) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.95 new_primMinusNatS0(Zero, Zero) 103.95/77.95 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.95 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.95 new_primModNatS1(Succ(Zero), Zero) 103.95/77.95 103.95/77.95 We have to consider all minimal (P,Q,R)-chains. 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (212) TransformationProof (EQUIVALENT) 103.95/77.95 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]: 103.95/77.95 103.95/77.95 (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)))))) 103.95/77.95 103.95/77.95 103.95/77.95 ---------------------------------------- 103.95/77.95 103.95/77.95 (213) 103.95/77.95 Obligation: 103.95/77.95 Q DP problem: 103.95/77.95 The TRS P consists of the following rules: 103.95/77.95 103.95/77.95 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))))) 103.95/77.95 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))))) 103.95/77.95 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))))) 103.95/77.95 103.95/77.95 The TRS R consists of the following rules: 103.95/77.95 103.95/77.95 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.95 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.95 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.95 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.95 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.95 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (214) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (215) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 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))))) 103.95/77.96 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))))) 103.95/77.96 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))))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (216) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (217) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 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))))) 103.95/77.96 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))))) 103.95/77.96 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))))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (218) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (219) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 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))))) 103.95/77.96 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))))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (220) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (221) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 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))))) 103.95/77.96 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))))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (222) QDPOrderProof (EQUIVALENT) 103.95/77.96 We use the reduction pair processor [LPAR04,JAR06]. 103.95/77.96 103.95/77.96 103.95/77.96 The following pairs can be oriented strictly and are deleted. 103.95/77.96 103.95/77.96 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))))) 103.95/77.96 The remaining pairs can at least be oriented weakly. 103.95/77.96 Used ordering: Polynomial interpretation [POLO]: 103.95/77.96 103.95/77.96 POL(Neg(x_1)) = 2*x_1 103.95/77.96 POL(Succ(x_1)) = 1 + x_1 103.95/77.96 POL(Zero) = 0 103.95/77.96 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 103.95/77.96 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.96 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 103.95/77.96 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 103.95/77.96 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.96 103.95/77.96 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (223) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 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))))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (224) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (225) 103.95/77.96 TRUE 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (226) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 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))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (227) InductionCalculusProof (EQUIVALENT) 103.95/77.96 Note that final constraints are written in bold face. 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 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: 103.95/77.96 *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: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 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: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 (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))))) 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 (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))))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 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: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (4) using rule (IV) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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))))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 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: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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))))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 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: 103.95/77.96 103.95/77.96 (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))))) 103.95/77.96 103.95/77.96 (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)))))) 103.95/77.96 103.95/77.96 (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))))) 103.95/77.96 103.95/77.96 (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)))))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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))))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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)))))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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))))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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)))))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 To summarize, we get the following constraints P__>=_ for the following pairs. 103.95/77.96 103.95/77.96 *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))) 103.95/77.96 103.95/77.96 *(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)))))) 103.95/77.96 103.95/77.96 103.95/77.96 *(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))))) 103.95/77.96 103.95/77.96 103.95/77.96 *(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)))) 103.95/77.96 103.95/77.96 103.95/77.96 *(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))))) 103.95/77.96 103.95/77.96 103.95/77.96 *(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)))))) 103.95/77.96 103.95/77.96 103.95/77.96 *(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))))) 103.95/77.96 103.95/77.96 103.95/77.96 *(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)))) 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 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. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (228) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 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))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (229) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 103.95/77.96 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primRemInt0(Neg(vuz870), vuz8600) -> Neg(new_primModNatS1(vuz870, vuz8600)) 103.95/77.96 new_primRemInt0(Pos(vuz870), vuz8600) -> Pos(new_primModNatS1(vuz870, vuz8600)) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primRemInt0(Neg(x0), x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primRemInt0(Pos(x0), x1) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (230) UsableRulesProof (EQUIVALENT) 103.95/77.96 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. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (231) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 103.95/77.96 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primRemInt0(Neg(x0), x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primRemInt0(Pos(x0), x1) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (232) QReductionProof (EQUIVALENT) 103.95/77.96 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 103.95/77.96 103.95/77.96 new_primRemInt0(Neg(x0), x1) 103.95/77.96 new_primRemInt0(Pos(x0), x1) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (233) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 103.95/77.96 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (234) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 (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))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (235) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (236) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (237) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (238) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (239) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (240) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (241) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (242) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (243) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (244) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 (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))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (245) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.96 new_gcd0Gcd'(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (246) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (247) 103.95/77.96 Complex Obligation (AND) 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (248) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (249) UsableRulesProof (EQUIVALENT) 103.95/77.96 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. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (250) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (251) QReductionProof (EQUIVALENT) 103.95/77.96 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (252) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (253) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (254) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (255) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (256) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (257) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (258) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (259) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (260) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (261) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (262) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (263) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (264) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 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))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (265) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (266) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (267) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (268) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (269) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (270) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (271) QDPSizeChangeProof (EQUIVALENT) 103.95/77.96 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 103.95/77.96 103.95/77.96 Order:Polynomial interpretation [POLO]: 103.95/77.96 103.95/77.96 POL(Neg(x_1)) = x_1 103.95/77.96 POL(Pos(x_1)) = 1 103.95/77.96 POL(Succ(x_1)) = 1 + x_1 103.95/77.96 POL(Zero) = 1 103.95/77.96 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.96 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 From the DPs we obtained the following set of size-change graphs: 103.95/77.96 *new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 103.95/77.96 The graph contains the following edges 2 >= 1, 1 >= 2 103.95/77.96 103.95/77.96 103.95/77.96 *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}) 103.95/77.96 The graph contains the following edges 2 >= 1, 1 > 2 103.95/77.96 103.95/77.96 103.95/77.96 103.95/77.96 We oriented the following set of usable rules [AAECC05,FROCOS05]. 103.95/77.96 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (272) 103.95/77.96 YES 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (273) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.96 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.96 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (274) UsableRulesProof (EQUIVALENT) 103.95/77.96 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. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (275) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (276) QReductionProof (EQUIVALENT) 103.95/77.96 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 103.95/77.96 103.95/77.96 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.96 new_primModNatS02(x0, x1) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (277) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (278) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (279) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (280) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (281) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (282) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (283) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (284) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (285) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (286) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (287) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 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))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (288) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (289) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (290) TransformationProof (EQUIVALENT) 103.95/77.96 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]: 103.95/77.96 103.95/77.96 (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)))) 103.95/77.96 103.95/77.96 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (291) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.96 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.96 new_primMinusNatS0(Zero, Zero) 103.95/77.96 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.96 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) 103.95/77.96 103.95/77.96 We have to consider all minimal (P,Q,R)-chains. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (292) DependencyGraphProof (EQUIVALENT) 103.95/77.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.96 ---------------------------------------- 103.95/77.96 103.95/77.96 (293) 103.95/77.96 Obligation: 103.95/77.96 Q DP problem: 103.95/77.96 The TRS P consists of the following rules: 103.95/77.96 103.95/77.96 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 103.95/77.96 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 103.95/77.96 103.95/77.96 The TRS R consists of the following rules: 103.95/77.96 103.95/77.96 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.96 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.96 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.96 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.96 103.95/77.96 The set Q consists of the following terms: 103.95/77.96 103.95/77.96 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.96 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (294) QDPSizeChangeProof (EQUIVALENT) 103.95/77.97 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 103.95/77.97 103.95/77.97 Order:Polynomial interpretation [POLO]: 103.95/77.97 103.95/77.97 POL(Neg(x_1)) = 1 103.95/77.97 POL(Pos(x_1)) = x_1 103.95/77.97 POL(Succ(x_1)) = 1 + x_1 103.95/77.97 POL(Zero) = 1 103.95/77.97 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.97 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.97 103.95/77.97 103.95/77.97 103.95/77.97 103.95/77.97 From the DPs we obtained the following set of size-change graphs: 103.95/77.97 *new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 103.95/77.97 The graph contains the following edges 2 >= 1, 1 >= 2 103.95/77.97 103.95/77.97 103.95/77.97 *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}) 103.95/77.97 The graph contains the following edges 2 >= 1, 1 > 2 103.95/77.97 103.95/77.97 103.95/77.97 103.95/77.97 We oriented the following set of usable rules [AAECC05,FROCOS05]. 103.95/77.97 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (295) 103.95/77.97 YES 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (296) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (297) UsableRulesProof (EQUIVALENT) 103.95/77.97 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. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (298) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (299) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))) 103.95/77.97 (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)))) 103.95/77.97 (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)))) 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (300) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (301) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (302) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (303) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (304) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 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)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (305) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (306) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 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)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (307) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (308) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 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)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (309) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (310) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (311) DependencyGraphProof (EQUIVALENT) 103.95/77.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (312) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (313) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (314) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (315) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 (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)))) 103.95/77.97 (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))))) 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (316) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 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))) 103.95/77.97 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)))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (317) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (318) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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)))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (319) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (320) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (321) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (322) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (323) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (324) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (325) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (326) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (327) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (328) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (329) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (330) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (331) DependencyGraphProof (EQUIVALENT) 103.95/77.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (332) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (333) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (334) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (335) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))) 103.95/77.97 (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)))) 103.95/77.97 (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)))) 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (336) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (337) DependencyGraphProof (EQUIVALENT) 103.95/77.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (338) 103.95/77.97 Complex Obligation (AND) 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (339) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (340) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (341) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (342) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (343) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (344) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (345) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (346) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))) 103.95/77.97 (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)))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (347) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (348) DependencyGraphProof (EQUIVALENT) 103.95/77.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (349) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (350) QDPOrderProof (EQUIVALENT) 103.95/77.97 We use the reduction pair processor [LPAR04,JAR06]. 103.95/77.97 103.95/77.97 103.95/77.97 The following pairs can be oriented strictly and are deleted. 103.95/77.97 103.95/77.97 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))) 103.95/77.97 The remaining pairs can at least be oriented weakly. 103.95/77.97 Used ordering: Polynomial interpretation [POLO]: 103.95/77.97 103.95/77.97 POL(Neg(x_1)) = x_1 103.95/77.97 POL(Pos(x_1)) = 0 103.95/77.97 POL(Succ(x_1)) = 1 + x_1 103.95/77.97 POL(Zero) = 0 103.95/77.97 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 103.95/77.97 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.97 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 103.95/77.97 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 103.95/77.97 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.97 103.95/77.97 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (351) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (352) DependencyGraphProof (EQUIVALENT) 103.95/77.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (353) 103.95/77.97 TRUE 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (354) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (355) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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)))) 103.95/77.97 (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)))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (356) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (357) DependencyGraphProof (EQUIVALENT) 103.95/77.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (358) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 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))) 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (359) QDPOrderProof (EQUIVALENT) 103.95/77.97 We use the reduction pair processor [LPAR04,JAR06]. 103.95/77.97 103.95/77.97 103.95/77.97 The following pairs can be oriented strictly and are deleted. 103.95/77.97 103.95/77.97 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))) 103.95/77.97 The remaining pairs can at least be oriented weakly. 103.95/77.97 Used ordering: Polynomial interpretation [POLO]: 103.95/77.97 103.95/77.97 POL(Neg(x_1)) = 0 103.95/77.97 POL(Pos(x_1)) = x_1 103.95/77.97 POL(Succ(x_1)) = 1 + x_1 103.95/77.97 POL(Zero) = 0 103.95/77.97 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 103.95/77.97 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.97 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 103.95/77.97 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 103.95/77.97 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.97 103.95/77.97 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (360) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (361) DependencyGraphProof (EQUIVALENT) 103.95/77.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (362) 103.95/77.97 TRUE 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (363) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 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))) 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (364) TransformationProof (EQUIVALENT) 103.95/77.97 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]: 103.95/77.97 103.95/77.97 (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))))) 103.95/77.97 (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)))) 103.95/77.97 (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))))) 103.95/77.97 (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)))))) 103.95/77.97 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (365) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 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))) 103.95/77.97 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))))) 103.95/77.97 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))))) 103.95/77.97 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)))) 103.95/77.97 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))) 103.95/77.97 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)))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (366) DependencyGraphProof (EQUIVALENT) 103.95/77.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (367) 103.95/77.97 Complex Obligation (AND) 103.95/77.97 103.95/77.97 ---------------------------------------- 103.95/77.97 103.95/77.97 (368) 103.95/77.97 Obligation: 103.95/77.97 Q DP problem: 103.95/77.97 The TRS P consists of the following rules: 103.95/77.97 103.95/77.97 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)))) 103.95/77.97 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))))) 103.95/77.97 103.95/77.97 The TRS R consists of the following rules: 103.95/77.97 103.95/77.97 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.97 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.97 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.97 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.97 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.97 103.95/77.97 The set Q consists of the following terms: 103.95/77.97 103.95/77.97 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.97 new_primModNatS02(x0, x1) 103.95/77.97 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.97 new_primModNatS1(Zero, x0) 103.95/77.97 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.97 new_primMinusNatS0(Zero, Zero) 103.95/77.97 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.97 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.97 new_primModNatS1(Succ(Zero), Zero) 103.95/77.97 103.95/77.97 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (369) TransformationProof (EQUIVALENT) 103.95/77.98 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]: 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (370) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 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))))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (371) TransformationProof (EQUIVALENT) 103.95/77.98 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]: 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (372) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 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))))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (373) TransformationProof (EQUIVALENT) 103.95/77.98 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]: 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (374) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 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))))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (375) TransformationProof (EQUIVALENT) 103.95/77.98 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]: 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (376) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 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))))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (377) QDPOrderProof (EQUIVALENT) 103.95/77.98 We use the reduction pair processor [LPAR04,JAR06]. 103.95/77.98 103.95/77.98 103.95/77.98 The following pairs can be oriented strictly and are deleted. 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 The remaining pairs can at least be oriented weakly. 103.95/77.98 Used ordering: Polynomial interpretation [POLO]: 103.95/77.98 103.95/77.98 POL(Neg(x_1)) = 2*x_1 103.95/77.98 POL(Pos(x_1)) = 0 103.95/77.98 POL(Succ(x_1)) = 1 + x_1 103.95/77.98 POL(Zero) = 0 103.95/77.98 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 103.95/77.98 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.98 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 103.95/77.98 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 103.95/77.98 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.98 103.95/77.98 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (378) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (379) DependencyGraphProof (EQUIVALENT) 103.95/77.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (380) 103.95/77.98 TRUE 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (381) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 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))))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (382) QDPOrderProof (EQUIVALENT) 103.95/77.98 We use the reduction pair processor [LPAR04,JAR06]. 103.95/77.98 103.95/77.98 103.95/77.98 The following pairs can be oriented strictly and are deleted. 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 The remaining pairs can at least be oriented weakly. 103.95/77.98 Used ordering: Polynomial interpretation [POLO]: 103.95/77.98 103.95/77.98 POL(Neg(x_1)) = 0 103.95/77.98 POL(Pos(x_1)) = 2*x_1 103.95/77.98 POL(Succ(x_1)) = 1 + x_1 103.95/77.98 POL(Zero) = 0 103.95/77.98 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 103.95/77.98 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.98 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 103.95/77.98 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 103.95/77.98 POL(new_primModNatS1(x_1, x_2)) = x_1 103.95/77.98 103.95/77.98 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (383) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (384) DependencyGraphProof (EQUIVALENT) 103.95/77.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (385) 103.95/77.98 TRUE 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (386) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))) 103.95/77.98 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))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (387) InductionCalculusProof (EQUIVALENT) 103.95/77.98 Note that final constraints are written in bold face. 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 *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: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (4) using rule (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 *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: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (4) using rule (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 103.95/77.98 103.95/77.98 (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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 To summarize, we get the following constraints P__>=_ for the following pairs. 103.95/77.98 103.95/77.98 *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))) 103.95/77.98 103.95/77.98 *(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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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)))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 *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))) 103.95/77.98 103.95/77.98 *(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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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)))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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)))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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))))) 103.95/77.98 103.95/77.98 103.95/77.98 *(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)))) 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 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. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (388) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 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))) 103.95/77.98 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))) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS1(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS01(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS02(vuz104, vuz105) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS01(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS02(vuz104, vuz105) 103.95/77.98 new_primModNatS01(vuz104, vuz105, Zero, Succ(vuz1070)) -> Succ(Succ(vuz104)) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(vuz86000)) -> Succ(Zero) 103.95/77.98 new_primModNatS1(Zero, vuz8600) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primModNatS01(x0, x1, Zero, Zero) 103.95/77.98 new_primModNatS02(x0, x1) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primModNatS1(Zero, x0) 103.95/77.98 new_primModNatS1(Succ(Zero), Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primModNatS1(Succ(Succ(x0)), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 103.95/77.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 103.95/77.98 new_primModNatS1(Succ(Zero), Zero) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (389) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS0(Zero, Zero), Zero) 103.95/77.98 new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS(Succ(Succ(vuz87000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (390) DependencyGraphProof (EQUIVALENT) 103.95/77.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (391) 103.95/77.98 Complex Obligation (AND) 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (392) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) 103.95/77.98 new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (393) TransformationProof (EQUIVALENT) 103.95/77.98 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]: 103.95/77.98 103.95/77.98 (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))) 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (394) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) 103.95/77.98 new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (395) TransformationProof (EQUIVALENT) 103.95/77.98 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]: 103.95/77.98 103.95/77.98 (new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)),new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105))) 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (396) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) 103.95/77.98 new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) 103.95/77.98 new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (397) QDPSizeChangeProof (EQUIVALENT) 103.95/77.98 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 103.95/77.98 103.95/77.98 Order:Polynomial interpretation [POLO]: 103.95/77.98 103.95/77.98 POL(Succ(x_1)) = 1 + x_1 103.95/77.98 POL(Zero) = 1 103.95/77.98 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 From the DPs we obtained the following set of size-change graphs: 103.95/77.98 *new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) (allowed arguments on rhs = {1, 2}) 103.95/77.98 The graph contains the following edges 1 >= 1 103.95/77.98 103.95/77.98 103.95/77.98 *new_primModNatS00(vuz104, vuz105) -> new_primModNatS(new_primMinusNatS0(vuz104, vuz105), Succ(vuz105)) (allowed arguments on rhs = {1, 2}) 103.95/77.98 The graph contains the following edges 1 >= 1 103.95/77.98 103.95/77.98 103.95/77.98 *new_primModNatS(Succ(Succ(vuz87000)), Succ(vuz86000)) -> new_primModNatS0(vuz87000, vuz86000, vuz87000, vuz86000) (allowed arguments on rhs = {1, 2, 3, 4}) 103.95/77.98 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 103.95/77.98 103.95/77.98 103.95/77.98 *new_primModNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primModNatS0(vuz104, vuz105, vuz1060, vuz1070) (allowed arguments on rhs = {1, 2, 3, 4}) 103.95/77.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 103.95/77.98 103.95/77.98 103.95/77.98 *new_primModNatS0(vuz104, vuz105, Zero, Zero) -> new_primModNatS00(vuz104, vuz105) (allowed arguments on rhs = {1, 2}) 103.95/77.98 The graph contains the following edges 1 >= 1, 2 >= 2 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We oriented the following set of usable rules [AAECC05,FROCOS05]. 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (398) 103.95/77.98 YES 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (399) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primModNatS(Succ(Succ(vuz87000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (400) QDPSizeChangeProof (EQUIVALENT) 103.95/77.98 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 103.95/77.98 103.95/77.98 Order:Polynomial interpretation [POLO]: 103.95/77.98 103.95/77.98 POL(Succ(x_1)) = 1 + x_1 103.95/77.98 POL(Zero) = 1 103.95/77.98 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 From the DPs we obtained the following set of size-change graphs: 103.95/77.98 *new_primModNatS(Succ(Succ(vuz87000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz87000), Zero), Zero) (allowed arguments on rhs = {1, 2}) 103.95/77.98 The graph contains the following edges 1 > 1, 2 >= 2 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We oriented the following set of usable rules [AAECC05,FROCOS05]. 103.95/77.98 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (401) 103.95/77.98 YES 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (402) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primDivNatS(Succ(Succ(vuz3900)), Succ(vuz40000)) -> new_primDivNatS0(vuz3900, vuz40000, vuz3900, vuz40000) 103.95/77.98 new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) 103.95/77.98 new_primDivNatS0(vuz79, vuz80, Zero, Zero) -> new_primDivNatS00(vuz79, vuz80) 103.95/77.98 new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Succ(vuz820)) -> new_primDivNatS0(vuz79, vuz80, vuz810, vuz820) 103.95/77.98 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS2, Zero) 103.95/77.98 new_primDivNatS(Succ(Succ(vuz3900)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz3900), Zero) 103.95/77.98 new_primDivNatS00(vuz79, vuz80) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS1(vuz3900) -> Succ(vuz3900) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS2 -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS2 103.95/77.98 new_primMinusNatS1(x0) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (403) DependencyGraphProof (EQUIVALENT) 103.95/77.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (404) 103.95/77.98 Complex Obligation (AND) 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (405) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primDivNatS(Succ(Succ(vuz3900)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz3900), Zero) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS1(vuz3900) -> Succ(vuz3900) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS2 -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS2 103.95/77.98 new_primMinusNatS1(x0) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (406) MRRProof (EQUIVALENT) 103.95/77.98 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. 103.95/77.98 103.95/77.98 Strictly oriented dependency pairs: 103.95/77.98 103.95/77.98 new_primDivNatS(Succ(Succ(vuz3900)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz3900), Zero) 103.95/77.98 103.95/77.98 Strictly oriented rules of the TRS R: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS1(vuz3900) -> Succ(vuz3900) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS2 -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 Used ordering: Polynomial interpretation [POLO]: 103.95/77.98 103.95/77.98 POL(Succ(x_1)) = 1 + 2*x_1 103.95/77.98 POL(Zero) = 1 103.95/77.98 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 103.95/77.98 POL(new_primMinusNatS0(x_1, x_2)) = x_1 + x_2 103.95/77.98 POL(new_primMinusNatS1(x_1)) = 2 + 2*x_1 103.95/77.98 POL(new_primMinusNatS2) = 2 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (407) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 P is empty. 103.95/77.98 R is empty. 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS2 103.95/77.98 new_primMinusNatS1(x0) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (408) PisEmptyProof (EQUIVALENT) 103.95/77.98 The TRS P is empty. Hence, there is no (P,Q,R) chain. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (409) 103.95/77.98 YES 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (410) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) 103.95/77.98 new_primDivNatS(Succ(Succ(vuz3900)), Succ(vuz40000)) -> new_primDivNatS0(vuz3900, vuz40000, vuz3900, vuz40000) 103.95/77.98 new_primDivNatS0(vuz79, vuz80, Zero, Zero) -> new_primDivNatS00(vuz79, vuz80) 103.95/77.98 new_primDivNatS00(vuz79, vuz80) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) 103.95/77.98 new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Succ(vuz820)) -> new_primDivNatS0(vuz79, vuz80, vuz810, vuz820) 103.95/77.98 103.95/77.98 The TRS R consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS1(vuz3900) -> Succ(vuz3900) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 new_primMinusNatS2 -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 103.95/77.98 The set Q consists of the following terms: 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) 103.95/77.98 new_primMinusNatS2 103.95/77.98 new_primMinusNatS1(x0) 103.95/77.98 new_primMinusNatS0(Succ(x0), Zero) 103.95/77.98 new_primMinusNatS0(Zero, Succ(x0)) 103.95/77.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 103.95/77.98 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (411) QDPSizeChangeProof (EQUIVALENT) 103.95/77.98 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 103.95/77.98 103.95/77.98 Order:Polynomial interpretation [POLO]: 103.95/77.98 103.95/77.98 POL(Succ(x_1)) = 1 + x_1 103.95/77.98 POL(Zero) = 1 103.95/77.98 POL(new_primMinusNatS0(x_1, x_2)) = x_1 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 From the DPs we obtained the following set of size-change graphs: 103.95/77.98 *new_primDivNatS(Succ(Succ(vuz3900)), Succ(vuz40000)) -> new_primDivNatS0(vuz3900, vuz40000, vuz3900, vuz40000) (allowed arguments on rhs = {1, 2, 3, 4}) 103.95/77.98 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 103.95/77.98 103.95/77.98 103.95/77.98 *new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Succ(vuz820)) -> new_primDivNatS0(vuz79, vuz80, vuz810, vuz820) (allowed arguments on rhs = {1, 2, 3, 4}) 103.95/77.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 103.95/77.98 103.95/77.98 103.95/77.98 *new_primDivNatS0(vuz79, vuz80, Succ(vuz810), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) (allowed arguments on rhs = {1, 2}) 103.95/77.98 The graph contains the following edges 1 >= 1 103.95/77.98 103.95/77.98 103.95/77.98 *new_primDivNatS0(vuz79, vuz80, Zero, Zero) -> new_primDivNatS00(vuz79, vuz80) (allowed arguments on rhs = {1, 2}) 103.95/77.98 The graph contains the following edges 1 >= 1, 2 >= 2 103.95/77.98 103.95/77.98 103.95/77.98 *new_primDivNatS00(vuz79, vuz80) -> new_primDivNatS(new_primMinusNatS0(vuz79, vuz80), Succ(vuz80)) (allowed arguments on rhs = {1, 2}) 103.95/77.98 The graph contains the following edges 1 >= 1 103.95/77.98 103.95/77.98 103.95/77.98 103.95/77.98 We oriented the following set of usable rules [AAECC05,FROCOS05]. 103.95/77.98 103.95/77.98 new_primMinusNatS0(Zero, Zero) -> Zero 103.95/77.98 new_primMinusNatS0(Zero, Succ(vuz800)) -> Zero 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Zero) -> Succ(vuz790) 103.95/77.98 new_primMinusNatS0(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS0(vuz790, vuz800) 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (412) 103.95/77.98 YES 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (413) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) 103.95/77.98 103.95/77.98 R is empty. 103.95/77.98 Q is empty. 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (414) QDPSizeChangeProof (EQUIVALENT) 103.95/77.98 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. 103.95/77.98 103.95/77.98 From the DPs we obtained the following set of size-change graphs: 103.95/77.98 *new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) 103.95/77.98 The graph contains the following edges 1 > 1, 2 >= 2 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (415) 103.95/77.98 YES 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (416) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primMinusNatS(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS(vuz790, vuz800) 103.95/77.98 103.95/77.98 R is empty. 103.95/77.98 Q is empty. 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (417) QDPSizeChangeProof (EQUIVALENT) 103.95/77.98 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. 103.95/77.98 103.95/77.98 From the DPs we obtained the following set of size-change graphs: 103.95/77.98 *new_primMinusNatS(Succ(vuz790), Succ(vuz800)) -> new_primMinusNatS(vuz790, vuz800) 103.95/77.98 The graph contains the following edges 1 > 1, 2 > 2 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (418) 103.95/77.98 YES 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (419) 103.95/77.98 Obligation: 103.95/77.98 Q DP problem: 103.95/77.98 The TRS P consists of the following rules: 103.95/77.98 103.95/77.98 new_primPlusNat(Succ(vuz2100), Succ(vuz41000)) -> new_primPlusNat(vuz2100, vuz41000) 103.95/77.98 103.95/77.98 R is empty. 103.95/77.98 Q is empty. 103.95/77.98 We have to consider all minimal (P,Q,R)-chains. 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (420) QDPSizeChangeProof (EQUIVALENT) 103.95/77.98 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. 103.95/77.98 103.95/77.98 From the DPs we obtained the following set of size-change graphs: 103.95/77.98 *new_primPlusNat(Succ(vuz2100), Succ(vuz41000)) -> new_primPlusNat(vuz2100, vuz41000) 103.95/77.98 The graph contains the following edges 1 > 1, 2 > 2 103.95/77.98 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (421) 103.95/77.98 YES 103.95/77.98 103.95/77.98 ---------------------------------------- 103.95/77.98 103.95/77.98 (422) Narrow (COMPLETE) 103.95/77.98 Haskell To QDPs 103.95/77.98 103.95/77.98 digraph dp_graph { 103.95/77.98 node [outthreshold=100, inthreshold=100];1[label="(*)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 103.95/77.98 3[label="(*) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 103.95/77.98 4[label="(*) vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];3163[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 3163[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3163 -> 5[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 5[label="(*) (vuz30 :% vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];3164[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];5 -> 3164[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3164 -> 6[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 6[label="(*) (vuz30 :% vuz31) (vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 103.95/77.98 7[label="reduce (vuz30 * vuz40) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 103.95/77.98 8[label="reduce2 (vuz30 * vuz40) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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"];3165[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];11 -> 3165[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3165 -> 12[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3166[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];11 -> 3166[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3166 -> 13[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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"];3167[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];12 -> 3167[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3167 -> 14[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3168[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];12 -> 3168[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3168 -> 15[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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"];3169[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];13 -> 3169[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3169 -> 16[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3170[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];13 -> 3170[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3170 -> 17[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 18 -> 222[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 18 -> 224[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 18 -> 225[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 19 -> 269[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 19 -> 271[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 19 -> 272[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 20 -> 269[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 20 -> 274[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 20 -> 275[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 21 -> 222[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 21 -> 227[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 21 -> 228[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 223[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];3171[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];223 -> 3171[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3171 -> 259[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3172[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];223 -> 3172[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3172 -> 260[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 224 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 224[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];225 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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"];3173[label="vuz17/Succ vuz170",fontsize=10,color="white",style="solid",shape="box"];222 -> 3173[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3173 -> 261[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3174[label="vuz17/Zero",fontsize=10,color="white",style="solid",shape="box"];222 -> 3174[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3174 -> 262[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 270 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 270[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];270 -> 306[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 271 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 271[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];271 -> 307[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 272 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 272[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];272 -> 308[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 269[label="reduce2Reduce1 (vuz30 * vuz40) (Neg vuz19) (vuz30 * vuz40) (Neg vuz18) (primEqInt (Neg vuz20) (fromInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];3175[label="vuz20/Succ vuz200",fontsize=10,color="white",style="solid",shape="box"];269 -> 3175[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3175 -> 309[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3176[label="vuz20/Zero",fontsize=10,color="white",style="solid",shape="box"];269 -> 3176[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3176 -> 310[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 273 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 273[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];273 -> 311[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 274 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 274[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];274 -> 312[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 275 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 275[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];275 -> 313[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 226 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 226[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];226 -> 263[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 226 -> 264[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 227 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 227[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];227 -> 265[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 227 -> 266[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 228 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 228[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];228 -> 267[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 228 -> 268[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 259[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];3177[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];259 -> 3177[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3177 -> 314[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3178[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];259 -> 3178[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3178 -> 315[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 260[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];3179[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];260 -> 3179[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3179 -> 316[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3180[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];260 -> 3180[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3180 -> 317[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 315[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];315 -> 323[label="",style="solid", color="black", weight=3]; 103.95/77.98 316[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];316 -> 324[label="",style="solid", color="black", weight=3]; 103.95/77.98 317[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];317 -> 325[label="",style="solid", color="black", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 322 -> 330[label="",style="dashed", color="red", weight=0]; 103.95/77.98 322[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];322 -> 331[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 331 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 331[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];331 -> 336[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 331 -> 337[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 330[label="primPlusNat vuz21 (Succ vuz4100)",fontsize=16,color="burlywood",shape="triangle"];3181[label="vuz21/Succ vuz210",fontsize=10,color="white",style="solid",shape="box"];330 -> 3181[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3181 -> 338[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3182[label="vuz21/Zero",fontsize=10,color="white",style="solid",shape="box"];330 -> 3182[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3182 -> 339[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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]; 103.95/77.98 333[label="error []",fontsize=16,color="black",shape="triangle"];333 -> 341[label="",style="solid", color="black", weight=3]; 103.95/77.98 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]; 103.95/77.98 335 -> 333[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 339[label="primPlusNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];339 -> 344[label="",style="solid", color="black", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 343[label="Succ (Succ (primPlusNat vuz210 vuz4100))",fontsize=16,color="green",shape="box"];343 -> 347[label="",style="dashed", color="green", weight=3]; 103.95/77.98 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]; 103.95/77.98 345 -> 349[label="",style="dashed", color="green", weight=3]; 103.95/77.98 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]; 103.95/77.98 346 -> 351[label="",style="dashed", color="green", weight=3]; 103.95/77.98 347[label="primPlusNat vuz210 vuz4100",fontsize=16,color="burlywood",shape="triangle"];3183[label="vuz210/Succ vuz2100",fontsize=10,color="white",style="solid",shape="box"];347 -> 3183[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3183 -> 352[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3184[label="vuz210/Zero",fontsize=10,color="white",style="solid",shape="box"];347 -> 3184[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3184 -> 353[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 352[label="primPlusNat (Succ vuz2100) vuz4100",fontsize=16,color="burlywood",shape="box"];3185[label="vuz4100/Succ vuz41000",fontsize=10,color="white",style="solid",shape="box"];352 -> 3185[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3185 -> 358[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3186[label="vuz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];352 -> 3186[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3186 -> 359[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 353[label="primPlusNat Zero vuz4100",fontsize=16,color="burlywood",shape="box"];3187[label="vuz4100/Succ vuz41000",fontsize=10,color="white",style="solid",shape="box"];353 -> 3187[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3187 -> 360[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3188[label="vuz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];353 -> 3188[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3188 -> 361[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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]; 103.95/77.98 355 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.98 355[label="primQuotInt (Pos vuz15) (reduce2D (vuz30 * vuz40) (Pos vuz16))",fontsize=16,color="magenta"];355 -> 2213[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 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]; 103.95/77.98 357 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.98 357[label="primQuotInt (Neg vuz18) (reduce2D (vuz30 * vuz40) (Neg vuz19))",fontsize=16,color="magenta"];357 -> 998[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 357 -> 999[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 358[label="primPlusNat (Succ vuz2100) (Succ vuz41000)",fontsize=16,color="black",shape="box"];358 -> 366[label="",style="solid", color="black", weight=3]; 103.95/77.98 359[label="primPlusNat (Succ vuz2100) Zero",fontsize=16,color="black",shape="box"];359 -> 367[label="",style="solid", color="black", weight=3]; 103.95/77.98 360[label="primPlusNat Zero (Succ vuz41000)",fontsize=16,color="black",shape="box"];360 -> 368[label="",style="solid", color="black", weight=3]; 103.95/77.98 361[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];361 -> 369[label="",style="solid", color="black", weight=3]; 103.95/77.98 362[label="primQuotInt (primMulInt vuz30 vuz40) (reduce2D (primMulInt vuz30 vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3189[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];362 -> 3189[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3189 -> 370[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3190[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];362 -> 3190[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3190 -> 371[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 2213[label="reduce2D (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2213 -> 2622[label="",style="solid", color="black", weight=3]; 103.95/77.98 2212[label="primQuotInt (Pos vuz15) vuz83",fontsize=16,color="burlywood",shape="triangle"];3191[label="vuz83/Pos vuz830",fontsize=10,color="white",style="solid",shape="box"];2212 -> 3191[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3191 -> 2623[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3192[label="vuz83/Neg vuz830",fontsize=10,color="white",style="solid",shape="box"];2212 -> 3192[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3192 -> 2624[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 364[label="primQuotInt (primMulInt vuz30 vuz40) (reduce2D (primMulInt vuz30 vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3193[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];364 -> 3193[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3193 -> 373[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3194[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];364 -> 3194[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3194 -> 374[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 998[label="reduce2D (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];998 -> 1444[label="",style="solid", color="black", weight=3]; 103.95/77.98 999[label="vuz18",fontsize=16,color="green",shape="box"];997[label="primQuotInt (Neg vuz39) vuz40",fontsize=16,color="burlywood",shape="triangle"];3195[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];997 -> 3195[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3195 -> 1445[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3196[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];997 -> 3196[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3196 -> 1446[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 366[label="Succ (Succ (primPlusNat vuz2100 vuz41000))",fontsize=16,color="green",shape="box"];366 -> 376[label="",style="dashed", color="green", weight=3]; 103.95/77.98 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"];3197[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];370 -> 3197[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3197 -> 377[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3198[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];370 -> 3198[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3198 -> 378[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 371[label="primQuotInt (primMulInt (Neg vuz300) vuz40) (reduce2D (primMulInt (Neg vuz300) vuz40) (Pos vuz16))",fontsize=16,color="burlywood",shape="box"];3199[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];371 -> 3199[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3199 -> 379[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3200[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];371 -> 3200[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3200 -> 380[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 2622[label="gcd (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2622 -> 2630[label="",style="solid", color="black", weight=3]; 103.95/77.98 2623[label="primQuotInt (Pos vuz15) (Pos vuz830)",fontsize=16,color="burlywood",shape="box"];3201[label="vuz830/Succ vuz8300",fontsize=10,color="white",style="solid",shape="box"];2623 -> 3201[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3201 -> 2631[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3202[label="vuz830/Zero",fontsize=10,color="white",style="solid",shape="box"];2623 -> 3202[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3202 -> 2632[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 2624[label="primQuotInt (Pos vuz15) (Neg vuz830)",fontsize=16,color="burlywood",shape="box"];3203[label="vuz830/Succ vuz8300",fontsize=10,color="white",style="solid",shape="box"];2624 -> 3203[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3203 -> 2633[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3204[label="vuz830/Zero",fontsize=10,color="white",style="solid",shape="box"];2624 -> 3204[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3204 -> 2634[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 373[label="primQuotInt (primMulInt (Pos vuz300) vuz40) (reduce2D (primMulInt (Pos vuz300) vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3205[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];373 -> 3205[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3205 -> 382[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3206[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];373 -> 3206[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3206 -> 383[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 374[label="primQuotInt (primMulInt (Neg vuz300) vuz40) (reduce2D (primMulInt (Neg vuz300) vuz40) (Neg vuz19))",fontsize=16,color="burlywood",shape="box"];3207[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];374 -> 3207[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3207 -> 384[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3208[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];374 -> 3208[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3208 -> 385[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 1444[label="gcd (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1444 -> 1450[label="",style="solid", color="black", weight=3]; 103.95/77.98 1445[label="primQuotInt (Neg vuz39) (Pos vuz400)",fontsize=16,color="burlywood",shape="box"];3209[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];1445 -> 3209[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3209 -> 1451[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3210[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];1445 -> 3210[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3210 -> 1452[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 1446[label="primQuotInt (Neg vuz39) (Neg vuz400)",fontsize=16,color="burlywood",shape="box"];3211[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];1446 -> 3211[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3211 -> 1453[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3212[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];1446 -> 3212[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3212 -> 1454[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 376 -> 347[label="",style="dashed", color="red", weight=0]; 103.95/77.98 376[label="primPlusNat vuz2100 vuz41000",fontsize=16,color="magenta"];376 -> 387[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 376 -> 388[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 2630[label="gcd3 (vuz30 * vuz40) (Pos vuz16)",fontsize=16,color="black",shape="box"];2630 -> 2642[label="",style="solid", color="black", weight=3]; 103.95/77.98 2631[label="primQuotInt (Pos vuz15) (Pos (Succ vuz8300))",fontsize=16,color="black",shape="box"];2631 -> 2643[label="",style="solid", color="black", weight=3]; 103.95/77.98 2632[label="primQuotInt (Pos vuz15) (Pos Zero)",fontsize=16,color="black",shape="box"];2632 -> 2644[label="",style="solid", color="black", weight=3]; 103.95/77.98 2633[label="primQuotInt (Pos vuz15) (Neg (Succ vuz8300))",fontsize=16,color="black",shape="box"];2633 -> 2645[label="",style="solid", color="black", weight=3]; 103.95/77.98 2634[label="primQuotInt (Pos vuz15) (Neg Zero)",fontsize=16,color="black",shape="box"];2634 -> 2646[label="",style="solid", color="black", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 1450[label="gcd3 (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1450 -> 1462[label="",style="solid", color="black", weight=3]; 103.95/77.98 1451[label="primQuotInt (Neg vuz39) (Pos (Succ vuz4000))",fontsize=16,color="black",shape="box"];1451 -> 1463[label="",style="solid", color="black", weight=3]; 103.95/77.98 1452[label="primQuotInt (Neg vuz39) (Pos Zero)",fontsize=16,color="black",shape="box"];1452 -> 1464[label="",style="solid", color="black", weight=3]; 103.95/77.98 1453[label="primQuotInt (Neg vuz39) (Neg (Succ vuz4000))",fontsize=16,color="black",shape="box"];1453 -> 1465[label="",style="solid", color="black", weight=3]; 103.95/77.98 1454[label="primQuotInt (Neg vuz39) (Neg Zero)",fontsize=16,color="black",shape="box"];1454 -> 1466[label="",style="solid", color="black", weight=3]; 103.95/77.98 387[label="vuz41000",fontsize=16,color="green",shape="box"];388[label="vuz2100",fontsize=16,color="green",shape="box"];389 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 389 -> 2218[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 390 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 390 -> 1007[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 391 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 391 -> 1009[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 392 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 392 -> 2220[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 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]; 103.95/77.98 2643[label="Pos (primDivNatS vuz15 (Succ vuz8300))",fontsize=16,color="green",shape="box"];2643 -> 2670[label="",style="dashed", color="green", weight=3]; 103.95/77.98 2644 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 2646 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2646[label="error []",fontsize=16,color="magenta"];394 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 394 -> 2223[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 395 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 395 -> 1011[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 396 -> 997[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 396 -> 1013[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 397 -> 2212[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 397 -> 2225[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1462[label="gcd2 (vuz30 * vuz40 == fromInt (Pos Zero)) (vuz30 * vuz40) (Neg vuz19)",fontsize=16,color="black",shape="box"];1462 -> 1487[label="",style="solid", color="black", weight=3]; 103.95/77.98 1463[label="Neg (primDivNatS vuz39 (Succ vuz4000))",fontsize=16,color="green",shape="box"];1463 -> 1488[label="",style="dashed", color="green", weight=3]; 103.95/77.98 1464[label="error []",fontsize=16,color="black",shape="triangle"];1464 -> 1489[label="",style="solid", color="black", weight=3]; 103.95/77.98 1465[label="Pos (primDivNatS vuz39 (Succ vuz4000))",fontsize=16,color="green",shape="box"];1465 -> 1490[label="",style="dashed", color="green", weight=3]; 103.95/77.98 1466 -> 1464[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1466[label="error []",fontsize=16,color="magenta"];2217 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2217[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2217 -> 2625[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2217 -> 2626[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2218 -> 2627[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2218[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2218 -> 2628[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1006 -> 1447[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1006[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];1006 -> 1448[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1007 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1007[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1007 -> 1455[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1007 -> 1456[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1008 -> 1447[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1008[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];1008 -> 1449[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1009 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1009[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1009 -> 1457[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1009 -> 1458[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2219 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2219[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2219 -> 2635[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2219 -> 2636[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2220 -> 2627[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2220[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Pos vuz16)",fontsize=16,color="magenta"];2220 -> 2629[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 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]; 103.95/77.98 2670 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2670[label="primDivNatS vuz15 (Succ vuz8300)",fontsize=16,color="magenta"];2670 -> 2686[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2670 -> 2687[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2671 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2671[label="primDivNatS vuz15 (Succ vuz8300)",fontsize=16,color="magenta"];2671 -> 2688[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2671 -> 2689[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2222 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2222[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2222 -> 2637[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2222 -> 2638[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2223 -> 2639[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2223[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];2223 -> 2640[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1010 -> 1459[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1010[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1010 -> 1460[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1011 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1011[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1011 -> 1467[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1011 -> 1468[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1012 -> 1459[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1012[label="reduce2D (Neg (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];1012 -> 1461[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1013 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1013[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1013 -> 1469[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1013 -> 1470[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2224 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2224[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2224 -> 2647[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2224 -> 2648[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2225 -> 2639[label="",style="dashed", color="red", weight=0]; 103.95/77.98 2225[label="reduce2D (Pos (primMulNat vuz300 vuz400)) (Neg vuz19)",fontsize=16,color="magenta"];2225 -> 2641[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 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]; 103.95/77.98 1488[label="primDivNatS vuz39 (Succ vuz4000)",fontsize=16,color="burlywood",shape="triangle"];3213[label="vuz39/Succ vuz390",fontsize=10,color="white",style="solid",shape="box"];1488 -> 3213[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3213 -> 1502[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3214[label="vuz39/Zero",fontsize=10,color="white",style="solid",shape="box"];1488 -> 3214[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3214 -> 1503[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 1489[label="error []",fontsize=16,color="red",shape="box"];1490 -> 1488[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1490[label="primDivNatS vuz39 (Succ vuz4000)",fontsize=16,color="magenta"];1490 -> 1504[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 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]; 103.95/77.98 2628[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2628 -> 2649[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2628 -> 2650[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2627[label="reduce2D (Pos vuz84) (Pos vuz16)",fontsize=16,color="black",shape="triangle"];2627 -> 2651[label="",style="solid", color="black", weight=3]; 103.95/77.98 1448 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1448[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1448 -> 1471[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1448 -> 1472[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1447[label="reduce2D (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="triangle"];1447 -> 1473[label="",style="solid", color="black", weight=3]; 103.95/77.98 1455[label="vuz400",fontsize=16,color="green",shape="box"];1456[label="vuz300",fontsize=16,color="green",shape="box"];1449 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1449[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1449 -> 1474[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1449 -> 1475[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1457[label="vuz400",fontsize=16,color="green",shape="box"];1458[label="vuz300",fontsize=16,color="green",shape="box"];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]; 103.95/77.98 2629[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2629 -> 2652[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2629 -> 2653[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2685[label="gcd2 (primEqInt (primMulInt vuz30 vuz40) (fromInt (Pos Zero))) (primMulInt vuz30 vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3215[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];2685 -> 3215[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3215 -> 2701[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3216[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];2685 -> 3216[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3216 -> 2702[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 2686[label="vuz8300",fontsize=16,color="green",shape="box"];2687[label="vuz15",fontsize=16,color="green",shape="box"];2688[label="vuz8300",fontsize=16,color="green",shape="box"];2689[label="vuz15",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]; 103.95/77.98 2640[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2640 -> 2654[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2640 -> 2655[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2639[label="reduce2D (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];2639 -> 2656[label="",style="solid", color="black", weight=3]; 103.95/77.98 1460 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1460[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1460 -> 1476[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1460 -> 1477[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1459[label="reduce2D (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];1459 -> 1478[label="",style="solid", color="black", weight=3]; 103.95/77.98 1467[label="vuz400",fontsize=16,color="green",shape="box"];1468[label="vuz300",fontsize=16,color="green",shape="box"];1461 -> 223[label="",style="dashed", color="red", weight=0]; 103.95/77.98 1461[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1461 -> 1479[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1461 -> 1480[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1469[label="vuz400",fontsize=16,color="green",shape="box"];1470[label="vuz300",fontsize=16,color="green",shape="box"];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]; 103.95/77.98 2641[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2641 -> 2657[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 2641 -> 2658[label="",style="dashed", color="magenta", weight=3]; 103.95/77.98 1501[label="gcd2 (primEqInt (primMulInt vuz30 vuz40) (fromInt (Pos Zero))) (primMulInt vuz30 vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3217[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];1501 -> 3217[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3217 -> 1513[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3218[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];1501 -> 3218[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3218 -> 1514[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 1502[label="primDivNatS (Succ vuz390) (Succ vuz4000)",fontsize=16,color="black",shape="box"];1502 -> 1515[label="",style="solid", color="black", weight=3]; 103.95/77.98 1503[label="primDivNatS Zero (Succ vuz4000)",fontsize=16,color="black",shape="box"];1503 -> 1516[label="",style="solid", color="black", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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"];3219[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];2701 -> 3219[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3219 -> 2712[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3220[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];2701 -> 3220[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3220 -> 2713[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 2702[label="gcd2 (primEqInt (primMulInt (Neg vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) vuz40) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3221[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];2702 -> 3221[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3221 -> 2714[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3222[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];2702 -> 3222[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3222 -> 2715[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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"];3223[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];1513 -> 3223[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3223 -> 1525[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3224[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];1513 -> 3224[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3224 -> 1526[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 1514[label="gcd2 (primEqInt (primMulInt (Neg vuz300) vuz40) (fromInt (Pos Zero))) (primMulInt (Neg vuz300) vuz40) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3225[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];1514 -> 3225[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3225 -> 1527[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3226[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];1514 -> 3226[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3226 -> 1528[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 1515[label="primDivNatS0 vuz390 vuz4000 (primGEqNatS vuz390 vuz4000)",fontsize=16,color="burlywood",shape="box"];3227[label="vuz390/Succ vuz3900",fontsize=10,color="white",style="solid",shape="box"];1515 -> 3227[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3227 -> 1529[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3228[label="vuz390/Zero",fontsize=10,color="white",style="solid",shape="box"];1515 -> 3228[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3228 -> 1530[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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]; 103.95/77.98 1491[label="gcd3 (Neg vuz41) (Pos vuz16)",fontsize=16,color="black",shape="box"];1491 -> 1505[label="",style="solid", color="black", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 2673[label="gcd3 (Pos vuz85) (Neg vuz19)",fontsize=16,color="black",shape="box"];2673 -> 2691[label="",style="solid", color="black", weight=3]; 103.95/77.98 1492[label="gcd3 (Neg vuz42) (Neg vuz19)",fontsize=16,color="black",shape="box"];1492 -> 1506[label="",style="solid", color="black", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 1529[label="primDivNatS0 (Succ vuz3900) vuz4000 (primGEqNatS (Succ vuz3900) vuz4000)",fontsize=16,color="burlywood",shape="box"];3229[label="vuz4000/Succ vuz40000",fontsize=10,color="white",style="solid",shape="box"];1529 -> 3229[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3229 -> 1546[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3230[label="vuz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];1529 -> 3230[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3230 -> 1547[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 1530[label="primDivNatS0 Zero vuz4000 (primGEqNatS Zero vuz4000)",fontsize=16,color="burlywood",shape="box"];3231[label="vuz4000/Succ vuz40000",fontsize=10,color="white",style="solid",shape="box"];1530 -> 3231[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3231 -> 1548[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 3232[label="vuz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];1530 -> 3232[label="",style="solid", color="burlywood", weight=9]; 103.95/77.98 3232 -> 1549[label="",style="solid", color="burlywood", weight=3]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 2728 -> 2703[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 2729 -> 1517[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 2730 -> 1517[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 2731 -> 2703[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 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]; 103.95/77.98 1542 -> 1559[label="",style="dashed", color="red", weight=0]; 103.95/77.98 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]; 104.20/77.98 1542 -> 1561[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1543 -> 1518[label="",style="dashed", color="red", weight=0]; 104.20/77.98 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]; 104.20/77.98 1544 -> 1518[label="",style="dashed", color="red", weight=0]; 104.20/77.98 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]; 104.20/77.98 1545 -> 1559[label="",style="dashed", color="red", weight=0]; 104.20/77.98 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]; 104.20/77.98 1545 -> 1563[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 1549[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1549 -> 1569[label="",style="solid", color="black", weight=3]; 104.20/77.98 2703[label="gcd2 (primEqInt (Pos vuz84) (fromInt (Pos Zero))) (Pos vuz84) (Pos vuz16)",fontsize=16,color="burlywood",shape="triangle"];3233[label="vuz84/Succ vuz840",fontsize=10,color="white",style="solid",shape="box"];2703 -> 3233[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3233 -> 2716[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3234[label="vuz84/Zero",fontsize=10,color="white",style="solid",shape="box"];2703 -> 3234[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3234 -> 2717[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 1517[label="gcd2 (primEqInt (Neg vuz41) (fromInt (Pos Zero))) (Neg vuz41) (Pos vuz16)",fontsize=16,color="burlywood",shape="triangle"];3235[label="vuz41/Succ vuz410",fontsize=10,color="white",style="solid",shape="box"];1517 -> 3235[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3235 -> 1531[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3236[label="vuz41/Zero",fontsize=10,color="white",style="solid",shape="box"];1517 -> 3236[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3236 -> 1532[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 2743 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 2743[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2743 -> 2759[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2743 -> 2760[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2744 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 2744[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2744 -> 2761[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2744 -> 2762[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2745 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 2745[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2745 -> 2763[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2745 -> 2764[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2746 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 2746[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];2746 -> 2765[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2746 -> 2766[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2704 -> 1559[label="",style="dashed", color="red", weight=0]; 104.20/77.98 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]; 104.20/77.98 2704 -> 2719[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1518[label="gcd2 (primEqInt (Neg vuz42) (fromInt (Pos Zero))) (Neg vuz42) (Neg vuz19)",fontsize=16,color="burlywood",shape="triangle"];3237[label="vuz42/Succ vuz420",fontsize=10,color="white",style="solid",shape="box"];1518 -> 3237[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3237 -> 1533[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3238[label="vuz42/Zero",fontsize=10,color="white",style="solid",shape="box"];1518 -> 3238[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3238 -> 1534[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 1560 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1560[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1560 -> 1570[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1560 -> 1571[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1561 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1561[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1561 -> 1572[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1561 -> 1573[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1559[label="gcd2 (primEqInt (Pos vuz44) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="burlywood",shape="triangle"];3239[label="vuz44/Succ vuz440",fontsize=10,color="white",style="solid",shape="box"];1559 -> 3239[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3239 -> 1574[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3240[label="vuz44/Zero",fontsize=10,color="white",style="solid",shape="box"];1559 -> 3240[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3240 -> 1575[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 1564 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1564[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1564 -> 1588[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1564 -> 1589[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1565 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1565[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1565 -> 1590[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1565 -> 1591[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1562 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1562[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1562 -> 1576[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1562 -> 1577[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1563 -> 223[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1563[label="primMulNat vuz300 vuz400",fontsize=16,color="magenta"];1563 -> 1578[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1563 -> 1579[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1566 -> 2163[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1566[label="primDivNatS0 (Succ vuz3900) (Succ vuz40000) (primGEqNatS vuz3900 vuz40000)",fontsize=16,color="magenta"];1566 -> 2164[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1566 -> 2165[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1566 -> 2166[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1566 -> 2167[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1567[label="primDivNatS0 (Succ vuz3900) Zero True",fontsize=16,color="black",shape="box"];1567 -> 1594[label="",style="solid", color="black", weight=3]; 104.20/77.98 1568[label="primDivNatS0 Zero (Succ vuz40000) False",fontsize=16,color="black",shape="box"];1568 -> 1595[label="",style="solid", color="black", weight=3]; 104.20/77.98 1569[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];1569 -> 1596[label="",style="solid", color="black", weight=3]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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"];3241[label="vuz81/Succ vuz810",fontsize=10,color="white",style="solid",shape="box"];2163 -> 3241[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3241 -> 2204[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3242[label="vuz81/Zero",fontsize=10,color="white",style="solid",shape="box"];2163 -> 3242[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3242 -> 2205[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 2204[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS (Succ vuz810) vuz82)",fontsize=16,color="burlywood",shape="box"];3243[label="vuz82/Succ vuz820",fontsize=10,color="white",style="solid",shape="box"];2204 -> 3243[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3243 -> 2659[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3244[label="vuz82/Zero",fontsize=10,color="white",style="solid",shape="box"];2204 -> 3244[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3244 -> 2660[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 2205[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS Zero vuz82)",fontsize=16,color="burlywood",shape="box"];3245[label="vuz82/Succ vuz820",fontsize=10,color="white",style="solid",shape="box"];2205 -> 3245[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3245 -> 2661[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3246[label="vuz82/Zero",fontsize=10,color="white",style="solid",shape="box"];2205 -> 3246[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3246 -> 2662[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 1611 -> 1488[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1611[label="primDivNatS (primMinusNatS (Succ vuz3900) Zero) (Succ Zero)",fontsize=16,color="magenta"];1611 -> 1627[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1611 -> 1628[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1612 -> 1488[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1612[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];1612 -> 1629[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1612 -> 1630[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2747[label="gcd2 False (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2747 -> 2767[label="",style="solid", color="black", weight=3]; 104.20/77.98 2748[label="gcd2 True (Pos Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];2748 -> 2768[label="",style="solid", color="black", weight=3]; 104.20/77.98 1580[label="gcd2 False (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1580 -> 1599[label="",style="solid", color="black", weight=3]; 104.20/77.98 1581[label="gcd2 True (Neg Zero) (Pos vuz16)",fontsize=16,color="black",shape="box"];1581 -> 1600[label="",style="solid", color="black", weight=3]; 104.20/77.98 1582[label="gcd2 False (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1582 -> 1601[label="",style="solid", color="black", weight=3]; 104.20/77.98 1583[label="gcd2 True (Neg Zero) (Neg vuz19)",fontsize=16,color="black",shape="box"];1583 -> 1602[label="",style="solid", color="black", weight=3]; 104.20/77.98 1613[label="gcd2 False (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1613 -> 1631[label="",style="solid", color="black", weight=3]; 104.20/77.98 1614[label="gcd2 True (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="box"];1614 -> 1632[label="",style="solid", color="black", weight=3]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 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]; 104.20/77.98 1627[label="Zero",fontsize=16,color="green",shape="box"];1628[label="primMinusNatS (Succ vuz3900) Zero",fontsize=16,color="black",shape="triangle"];1628 -> 1648[label="",style="solid", color="black", weight=3]; 104.20/77.98 1629[label="Zero",fontsize=16,color="green",shape="box"];1630[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];1630 -> 1649[label="",style="solid", color="black", weight=3]; 104.20/77.98 2767[label="gcd0 (Pos (Succ vuz840)) (Pos vuz16)",fontsize=16,color="black",shape="box"];2767 -> 2783[label="",style="solid", color="black", weight=3]; 104.20/77.98 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]; 104.20/77.98 1599[label="gcd0 (Neg (Succ vuz410)) (Pos vuz16)",fontsize=16,color="black",shape="box"];1599 -> 1615[label="",style="solid", color="black", weight=3]; 104.20/77.98 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]; 104.20/77.98 1601[label="gcd0 (Neg (Succ vuz420)) (Neg vuz19)",fontsize=16,color="black",shape="box"];1601 -> 1617[label="",style="solid", color="black", weight=3]; 104.20/77.98 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]; 104.20/77.98 1631[label="gcd0 (Pos vuz43) (Neg vuz19)",fontsize=16,color="black",shape="triangle"];1631 -> 1650[label="",style="solid", color="black", weight=3]; 104.20/77.98 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]; 104.20/77.98 2674 -> 2163[label="",style="dashed", color="red", weight=0]; 104.20/77.98 2674[label="primDivNatS0 (Succ vuz79) (Succ vuz80) (primGEqNatS vuz810 vuz820)",fontsize=16,color="magenta"];2674 -> 2692[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2674 -> 2693[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2675[label="primDivNatS0 (Succ vuz79) (Succ vuz80) True",fontsize=16,color="black",shape="triangle"];2675 -> 2694[label="",style="solid", color="black", weight=3]; 104.20/77.98 2676[label="primDivNatS0 (Succ vuz79) (Succ vuz80) False",fontsize=16,color="black",shape="box"];2676 -> 2695[label="",style="solid", color="black", weight=3]; 104.20/77.98 2677 -> 2675[label="",style="dashed", color="red", weight=0]; 104.20/77.98 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]; 104.20/77.98 2783[label="gcd0Gcd' (abs (Pos (Succ vuz840))) (abs (Pos vuz16))",fontsize=16,color="magenta"];2783 -> 2803[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2783 -> 2804[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 2784[label="gcd1 (primEqInt (Pos vuz16) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3247[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];2784 -> 3247[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3247 -> 2817[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3248[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];2784 -> 3248[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3248 -> 2818[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 1615 -> 2802[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1615[label="gcd0Gcd' (abs (Neg (Succ vuz410))) (abs (Pos vuz16))",fontsize=16,color="magenta"];1615 -> 2805[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1615 -> 2806[label="",style="dashed", color="magenta", weight=3]; 104.20/77.98 1616[label="gcd1 (primEqInt (Pos vuz16) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz16)",fontsize=16,color="burlywood",shape="box"];3249[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];1616 -> 3249[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3249 -> 1634[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 3250[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];1616 -> 3250[label="",style="solid", color="burlywood", weight=9]; 104.20/77.98 3250 -> 1635[label="",style="solid", color="burlywood", weight=3]; 104.20/77.98 1617 -> 2802[label="",style="dashed", color="red", weight=0]; 104.20/77.98 1617[label="gcd0Gcd' (abs (Neg (Succ vuz420))) (abs (Neg vuz19))",fontsize=16,color="magenta"];1617 -> 2807[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 1617 -> 2808[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 1618[label="gcd1 (primEqInt (Neg vuz19) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3251[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];1618 -> 3251[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3251 -> 1637[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3252[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];1618 -> 3252[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3252 -> 1638[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 1650 -> 2802[label="",style="dashed", color="red", weight=0]; 104.20/77.99 1650[label="gcd0Gcd' (abs (Pos vuz43)) (abs (Neg vuz19))",fontsize=16,color="magenta"];1650 -> 2809[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 1650 -> 2810[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 1651[label="gcd1 (primEqInt (Neg vuz19) (fromInt (Pos Zero))) (Pos vuz43) (Neg vuz19)",fontsize=16,color="burlywood",shape="box"];3253[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];1651 -> 3253[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3253 -> 1670[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3254[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];1651 -> 3254[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3254 -> 1671[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 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]; 104.20/77.99 2695[label="Zero",fontsize=16,color="green",shape="box"];2803[label="abs (Pos (Succ vuz840))",fontsize=16,color="black",shape="box"];2803 -> 2819[label="",style="solid", color="black", weight=3]; 104.20/77.99 2804[label="abs (Pos vuz16)",fontsize=16,color="black",shape="triangle"];2804 -> 2820[label="",style="solid", color="black", weight=3]; 104.20/77.99 2802[label="gcd0Gcd' vuz87 vuz86",fontsize=16,color="black",shape="triangle"];2802 -> 2821[label="",style="solid", color="black", weight=3]; 104.20/77.99 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]; 104.20/77.99 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]; 104.20/77.99 2805[label="abs (Neg (Succ vuz410))",fontsize=16,color="black",shape="triangle"];2805 -> 2822[label="",style="solid", color="black", weight=3]; 104.20/77.99 2806 -> 2804[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2806[label="abs (Pos vuz16)",fontsize=16,color="magenta"];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]; 104.20/77.99 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]; 104.20/77.99 2807 -> 2805[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2807[label="abs (Neg (Succ vuz420))",fontsize=16,color="magenta"];2807 -> 2823[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2808[label="abs (Neg vuz19)",fontsize=16,color="black",shape="triangle"];2808 -> 2824[label="",style="solid", color="black", weight=3]; 104.20/77.99 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]; 104.20/77.99 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]; 104.20/77.99 2809 -> 2804[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2809[label="abs (Pos vuz43)",fontsize=16,color="magenta"];2809 -> 2825[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2810 -> 2808[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2810[label="abs (Neg vuz19)",fontsize=16,color="magenta"];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]; 104.20/77.99 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]; 104.20/77.99 2705 -> 1488[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2705[label="primDivNatS (primMinusNatS (Succ vuz79) (Succ vuz80)) (Succ (Succ vuz80))",fontsize=16,color="magenta"];2705 -> 2720[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2705 -> 2721[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2819[label="absReal (Pos (Succ vuz840))",fontsize=16,color="black",shape="box"];2819 -> 2834[label="",style="solid", color="black", weight=3]; 104.20/77.99 2820[label="absReal (Pos vuz16)",fontsize=16,color="black",shape="box"];2820 -> 2835[label="",style="solid", color="black", weight=3]; 104.20/77.99 2821[label="gcd0Gcd'2 vuz87 vuz86",fontsize=16,color="black",shape="box"];2821 -> 2836[label="",style="solid", color="black", weight=3]; 104.20/77.99 2832[label="gcd1 (primEqInt (Pos (Succ vuz160)) (Pos Zero)) (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2832 -> 2839[label="",style="solid", color="black", weight=3]; 104.20/77.99 2833[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2833 -> 2840[label="",style="solid", color="black", weight=3]; 104.20/77.99 2822[label="absReal (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2822 -> 2837[label="",style="solid", color="black", weight=3]; 104.20/77.99 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]; 104.20/77.99 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]; 104.20/77.99 2823[label="vuz420",fontsize=16,color="green",shape="box"];2824[label="absReal (Neg vuz19)",fontsize=16,color="black",shape="box"];2824 -> 2838[label="",style="solid", color="black", weight=3]; 104.20/77.99 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]; 104.20/77.99 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]; 104.20/77.99 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]; 104.20/77.99 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]; 104.20/77.99 2720[label="Succ vuz80",fontsize=16,color="green",shape="box"];2721[label="primMinusNatS (Succ vuz79) (Succ vuz80)",fontsize=16,color="black",shape="box"];2721 -> 2734[label="",style="solid", color="black", weight=3]; 104.20/77.99 2834[label="absReal2 (Pos (Succ vuz840))",fontsize=16,color="black",shape="box"];2834 -> 2841[label="",style="solid", color="black", weight=3]; 104.20/77.99 2835[label="absReal2 (Pos vuz16)",fontsize=16,color="black",shape="box"];2835 -> 2842[label="",style="solid", color="black", weight=3]; 104.20/77.99 2836[label="gcd0Gcd'1 (vuz86 == fromInt (Pos Zero)) vuz87 vuz86",fontsize=16,color="black",shape="box"];2836 -> 2843[label="",style="solid", color="black", weight=3]; 104.20/77.99 2839[label="gcd1 False (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2839 -> 2846[label="",style="solid", color="black", weight=3]; 104.20/77.99 2840[label="gcd1 True (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2840 -> 2847[label="",style="solid", color="black", weight=3]; 104.20/77.99 2837[label="absReal2 (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2837 -> 2844[label="",style="solid", color="black", weight=3]; 104.20/77.99 1673[label="gcd1 False (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1673 -> 1697[label="",style="solid", color="black", weight=3]; 104.20/77.99 1674[label="gcd1 True (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1674 -> 1698[label="",style="solid", color="black", weight=3]; 104.20/77.99 2838[label="absReal2 (Neg vuz19)",fontsize=16,color="black",shape="box"];2838 -> 2845[label="",style="solid", color="black", weight=3]; 104.20/77.99 1676[label="gcd1 False (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1676 -> 1700[label="",style="solid", color="black", weight=3]; 104.20/77.99 1677[label="gcd1 True (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];1677 -> 1701[label="",style="solid", color="black", weight=3]; 104.20/77.99 1716[label="gcd1 False (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1716 -> 1735[label="",style="solid", color="black", weight=3]; 104.20/77.99 1717[label="gcd1 True (Pos vuz43) (Neg Zero)",fontsize=16,color="black",shape="box"];1717 -> 1736[label="",style="solid", color="black", weight=3]; 104.20/77.99 2734[label="primMinusNatS vuz79 vuz80",fontsize=16,color="burlywood",shape="triangle"];3255[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];2734 -> 3255[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3255 -> 2749[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3256[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];2734 -> 3256[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3256 -> 2750[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2841[label="absReal1 (Pos (Succ vuz840)) (Pos (Succ vuz840) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2841 -> 2848[label="",style="solid", color="black", weight=3]; 104.20/77.99 2842[label="absReal1 (Pos vuz16) (Pos vuz16 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2842 -> 2849[label="",style="solid", color="black", weight=3]; 104.20/77.99 2843[label="gcd0Gcd'1 (primEqInt vuz86 (fromInt (Pos Zero))) vuz87 vuz86",fontsize=16,color="burlywood",shape="box"];3257[label="vuz86/Pos vuz860",fontsize=10,color="white",style="solid",shape="box"];2843 -> 3257[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3257 -> 2850[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3258[label="vuz86/Neg vuz860",fontsize=10,color="white",style="solid",shape="box"];2843 -> 3258[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3258 -> 2851[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2846[label="gcd0 (Pos Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];2846 -> 2854[label="",style="solid", color="black", weight=3]; 104.20/77.99 2847 -> 1464[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2847[label="error []",fontsize=16,color="magenta"];2844[label="absReal1 (Neg (Succ vuz410)) (Neg (Succ vuz410) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2844 -> 2852[label="",style="solid", color="black", weight=3]; 104.20/77.99 1697[label="gcd0 (Neg Zero) (Pos (Succ vuz160))",fontsize=16,color="black",shape="box"];1697 -> 1719[label="",style="solid", color="black", weight=3]; 104.20/77.99 1698 -> 1464[label="",style="dashed", color="red", weight=0]; 104.20/77.99 1698[label="error []",fontsize=16,color="magenta"];2845[label="absReal1 (Neg vuz19) (Neg vuz19 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2845 -> 2853[label="",style="solid", color="black", weight=3]; 104.20/77.99 1700[label="gcd0 (Neg Zero) (Neg (Succ vuz190))",fontsize=16,color="black",shape="box"];1700 -> 1721[label="",style="solid", color="black", weight=3]; 104.20/77.99 1701 -> 1464[label="",style="dashed", color="red", weight=0]; 104.20/77.99 1701[label="error []",fontsize=16,color="magenta"];1735 -> 1631[label="",style="dashed", color="red", weight=0]; 104.20/77.99 1735[label="gcd0 (Pos vuz43) (Neg (Succ vuz190))",fontsize=16,color="magenta"];1735 -> 1759[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 1736 -> 1464[label="",style="dashed", color="red", weight=0]; 104.20/77.99 1736[label="error []",fontsize=16,color="magenta"];2749[label="primMinusNatS (Succ vuz790) vuz80",fontsize=16,color="burlywood",shape="box"];3259[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];2749 -> 3259[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3259 -> 2769[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3260[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];2749 -> 3260[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3260 -> 2770[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2750[label="primMinusNatS Zero vuz80",fontsize=16,color="burlywood",shape="box"];3261[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];2750 -> 3261[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3261 -> 2771[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3262[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];2750 -> 3262[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3262 -> 2772[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2848[label="absReal1 (Pos (Succ vuz840)) (compare (Pos (Succ vuz840)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2848 -> 2855[label="",style="solid", color="black", weight=3]; 104.20/77.99 2849[label="absReal1 (Pos vuz16) (compare (Pos vuz16) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2849 -> 2856[label="",style="solid", color="black", weight=3]; 104.20/77.99 2850[label="gcd0Gcd'1 (primEqInt (Pos vuz860) (fromInt (Pos Zero))) vuz87 (Pos vuz860)",fontsize=16,color="burlywood",shape="box"];3263[label="vuz860/Succ vuz8600",fontsize=10,color="white",style="solid",shape="box"];2850 -> 3263[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3263 -> 2857[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3264[label="vuz860/Zero",fontsize=10,color="white",style="solid",shape="box"];2850 -> 3264[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3264 -> 2858[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2851[label="gcd0Gcd'1 (primEqInt (Neg vuz860) (fromInt (Pos Zero))) vuz87 (Neg vuz860)",fontsize=16,color="burlywood",shape="box"];3265[label="vuz860/Succ vuz8600",fontsize=10,color="white",style="solid",shape="box"];2851 -> 3265[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3265 -> 2859[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3266[label="vuz860/Zero",fontsize=10,color="white",style="solid",shape="box"];2851 -> 3266[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3266 -> 2860[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2854 -> 2802[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2854[label="gcd0Gcd' (abs (Pos Zero)) (abs (Pos (Succ vuz160)))",fontsize=16,color="magenta"];2854 -> 2863[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2854 -> 2864[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2852[label="absReal1 (Neg (Succ vuz410)) (compare (Neg (Succ vuz410)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2852 -> 2861[label="",style="solid", color="black", weight=3]; 104.20/77.99 1719 -> 2802[label="",style="dashed", color="red", weight=0]; 104.20/77.99 1719[label="gcd0Gcd' (abs (Neg Zero)) (abs (Pos (Succ vuz160)))",fontsize=16,color="magenta"];1719 -> 2811[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 1719 -> 2812[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2853[label="absReal1 (Neg vuz19) (compare (Neg vuz19) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];2853 -> 2862[label="",style="solid", color="black", weight=3]; 104.20/77.99 1721 -> 2802[label="",style="dashed", color="red", weight=0]; 104.20/77.99 1721[label="gcd0Gcd' (abs (Neg Zero)) (abs (Neg (Succ vuz190)))",fontsize=16,color="magenta"];1721 -> 2813[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 1721 -> 2814[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 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]; 104.20/77.99 2770[label="primMinusNatS (Succ vuz790) Zero",fontsize=16,color="black",shape="box"];2770 -> 2786[label="",style="solid", color="black", weight=3]; 104.20/77.99 2771[label="primMinusNatS Zero (Succ vuz800)",fontsize=16,color="black",shape="box"];2771 -> 2787[label="",style="solid", color="black", weight=3]; 104.20/77.99 2772[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];2772 -> 2788[label="",style="solid", color="black", weight=3]; 104.20/77.99 2855[label="absReal1 (Pos (Succ vuz840)) (not (compare (Pos (Succ vuz840)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2855 -> 2865[label="",style="solid", color="black", weight=3]; 104.20/77.99 2856[label="absReal1 (Pos vuz16) (not (compare (Pos vuz16) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2856 -> 2866[label="",style="solid", color="black", weight=3]; 104.20/77.99 2857[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz8600)) (fromInt (Pos Zero))) vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2857 -> 2867[label="",style="solid", color="black", weight=3]; 104.20/77.99 2858[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2858 -> 2868[label="",style="solid", color="black", weight=3]; 104.20/77.99 2859[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz8600)) (fromInt (Pos Zero))) vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2859 -> 2869[label="",style="solid", color="black", weight=3]; 104.20/77.99 2860[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2860 -> 2870[label="",style="solid", color="black", weight=3]; 104.20/77.99 2863 -> 2804[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2863[label="abs (Pos Zero)",fontsize=16,color="magenta"];2863 -> 2873[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2864 -> 2804[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2864[label="abs (Pos (Succ vuz160))",fontsize=16,color="magenta"];2864 -> 2874[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2861[label="absReal1 (Neg (Succ vuz410)) (not (compare (Neg (Succ vuz410)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2861 -> 2871[label="",style="solid", color="black", weight=3]; 104.20/77.99 2811 -> 2808[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2811[label="abs (Neg Zero)",fontsize=16,color="magenta"];2811 -> 2826[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2812 -> 2804[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2812[label="abs (Pos (Succ vuz160))",fontsize=16,color="magenta"];2812 -> 2827[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2862[label="absReal1 (Neg vuz19) (not (compare (Neg vuz19) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2862 -> 2872[label="",style="solid", color="black", weight=3]; 104.20/77.99 2813 -> 2808[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2813[label="abs (Neg Zero)",fontsize=16,color="magenta"];2813 -> 2828[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2814 -> 2808[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2814[label="abs (Neg (Succ vuz190))",fontsize=16,color="magenta"];2814 -> 2829[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2785 -> 2734[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2785[label="primMinusNatS vuz790 vuz800",fontsize=16,color="magenta"];2785 -> 2830[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2785 -> 2831[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 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"];2865[label="absReal1 (Pos (Succ vuz840)) (not (primCmpInt (Pos (Succ vuz840)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2865 -> 2875[label="",style="solid", color="black", weight=3]; 104.20/77.99 2866[label="absReal1 (Pos vuz16) (not (primCmpInt (Pos vuz16) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];3267[label="vuz16/Succ vuz160",fontsize=10,color="white",style="solid",shape="box"];2866 -> 3267[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3267 -> 2876[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3268[label="vuz16/Zero",fontsize=10,color="white",style="solid",shape="box"];2866 -> 3268[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3268 -> 2877[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2867[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz8600)) (Pos Zero)) vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2867 -> 2878[label="",style="solid", color="black", weight=3]; 104.20/77.99 2868[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2868 -> 2879[label="",style="solid", color="black", weight=3]; 104.20/77.99 2869[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz8600)) (Pos Zero)) vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2869 -> 2880[label="",style="solid", color="black", weight=3]; 104.20/77.99 2870[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2870 -> 2881[label="",style="solid", color="black", weight=3]; 104.20/77.99 2873[label="Zero",fontsize=16,color="green",shape="box"];2874[label="Succ vuz160",fontsize=16,color="green",shape="box"];2871[label="absReal1 (Neg (Succ vuz410)) (not (primCmpInt (Neg (Succ vuz410)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2871 -> 2882[label="",style="solid", color="black", weight=3]; 104.20/77.99 2826[label="Zero",fontsize=16,color="green",shape="box"];2827[label="Succ vuz160",fontsize=16,color="green",shape="box"];2872[label="absReal1 (Neg vuz19) (not (primCmpInt (Neg vuz19) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];3269[label="vuz19/Succ vuz190",fontsize=10,color="white",style="solid",shape="box"];2872 -> 3269[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3269 -> 2883[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3270[label="vuz19/Zero",fontsize=10,color="white",style="solid",shape="box"];2872 -> 3270[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3270 -> 2884[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2828[label="Zero",fontsize=16,color="green",shape="box"];2829[label="Succ vuz190",fontsize=16,color="green",shape="box"];2830[label="vuz800",fontsize=16,color="green",shape="box"];2831[label="vuz790",fontsize=16,color="green",shape="box"];2875[label="absReal1 (Pos (Succ vuz840)) (not (primCmpInt (Pos (Succ vuz840)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];2875 -> 2885[label="",style="solid", color="black", weight=3]; 104.20/77.99 2876[label="absReal1 (Pos (Succ vuz160)) (not (primCmpInt (Pos (Succ vuz160)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2876 -> 2886[label="",style="solid", color="black", weight=3]; 104.20/77.99 2877[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2877 -> 2887[label="",style="solid", color="black", weight=3]; 104.20/77.99 2878[label="gcd0Gcd'1 False vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2878 -> 2888[label="",style="solid", color="black", weight=3]; 104.20/77.99 2879[label="gcd0Gcd'1 True vuz87 (Pos Zero)",fontsize=16,color="black",shape="box"];2879 -> 2889[label="",style="solid", color="black", weight=3]; 104.20/77.99 2880[label="gcd0Gcd'1 False vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2880 -> 2890[label="",style="solid", color="black", weight=3]; 104.20/77.99 2881[label="gcd0Gcd'1 True vuz87 (Neg Zero)",fontsize=16,color="black",shape="box"];2881 -> 2891[label="",style="solid", color="black", weight=3]; 104.20/77.99 2882[label="absReal1 (Neg (Succ vuz410)) (not (primCmpInt (Neg (Succ vuz410)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];2882 -> 2892[label="",style="solid", color="black", weight=3]; 104.20/77.99 2883[label="absReal1 (Neg (Succ vuz190)) (not (primCmpInt (Neg (Succ vuz190)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2883 -> 2893[label="",style="solid", color="black", weight=3]; 104.20/77.99 2884[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];2884 -> 2894[label="",style="solid", color="black", weight=3]; 104.20/77.99 2885[label="absReal1 (Pos (Succ vuz840)) (not (primCmpNat (Succ vuz840) Zero == LT))",fontsize=16,color="black",shape="box"];2885 -> 2895[label="",style="solid", color="black", weight=3]; 104.20/77.99 2886 -> 2875[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2886[label="absReal1 (Pos (Succ vuz160)) (not (primCmpInt (Pos (Succ vuz160)) (Pos Zero) == LT))",fontsize=16,color="magenta"];2886 -> 2896[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2887[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2887 -> 2897[label="",style="solid", color="black", weight=3]; 104.20/77.99 2888[label="gcd0Gcd'0 vuz87 (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2888 -> 2898[label="",style="solid", color="black", weight=3]; 104.20/77.99 2889[label="vuz87",fontsize=16,color="green",shape="box"];2890[label="gcd0Gcd'0 vuz87 (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2890 -> 2899[label="",style="solid", color="black", weight=3]; 104.20/77.99 2891[label="vuz87",fontsize=16,color="green",shape="box"];2892[label="absReal1 (Neg (Succ vuz410)) (not (LT == LT))",fontsize=16,color="black",shape="box"];2892 -> 2900[label="",style="solid", color="black", weight=3]; 104.20/77.99 2893 -> 2882[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2893[label="absReal1 (Neg (Succ vuz190)) (not (primCmpInt (Neg (Succ vuz190)) (Pos Zero) == LT))",fontsize=16,color="magenta"];2893 -> 2901[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2894[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];2894 -> 2902[label="",style="solid", color="black", weight=3]; 104.20/77.99 2895[label="absReal1 (Pos (Succ vuz840)) (not (GT == LT))",fontsize=16,color="black",shape="box"];2895 -> 2903[label="",style="solid", color="black", weight=3]; 104.20/77.99 2896[label="vuz160",fontsize=16,color="green",shape="box"];2897[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];2897 -> 2904[label="",style="solid", color="black", weight=3]; 104.20/77.99 2898 -> 2802[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2898[label="gcd0Gcd' (Pos (Succ vuz8600)) (vuz87 `rem` Pos (Succ vuz8600))",fontsize=16,color="magenta"];2898 -> 2905[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2898 -> 2906[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2899 -> 2802[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2899[label="gcd0Gcd' (Neg (Succ vuz8600)) (vuz87 `rem` Neg (Succ vuz8600))",fontsize=16,color="magenta"];2899 -> 2907[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2899 -> 2908[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2900[label="absReal1 (Neg (Succ vuz410)) (not True)",fontsize=16,color="black",shape="box"];2900 -> 2909[label="",style="solid", color="black", weight=3]; 104.20/77.99 2901[label="vuz190",fontsize=16,color="green",shape="box"];2902[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];2902 -> 2910[label="",style="solid", color="black", weight=3]; 104.20/77.99 2903[label="absReal1 (Pos (Succ vuz840)) (not False)",fontsize=16,color="black",shape="box"];2903 -> 2911[label="",style="solid", color="black", weight=3]; 104.20/77.99 2904[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];2904 -> 2912[label="",style="solid", color="black", weight=3]; 104.20/77.99 2905[label="Pos (Succ vuz8600)",fontsize=16,color="green",shape="box"];2906[label="vuz87 `rem` Pos (Succ vuz8600)",fontsize=16,color="black",shape="box"];2906 -> 2913[label="",style="solid", color="black", weight=3]; 104.20/77.99 2907[label="Neg (Succ vuz8600)",fontsize=16,color="green",shape="box"];2908[label="vuz87 `rem` Neg (Succ vuz8600)",fontsize=16,color="black",shape="box"];2908 -> 2914[label="",style="solid", color="black", weight=3]; 104.20/77.99 2909[label="absReal1 (Neg (Succ vuz410)) False",fontsize=16,color="black",shape="box"];2909 -> 2915[label="",style="solid", color="black", weight=3]; 104.20/77.99 2910[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];2910 -> 2916[label="",style="solid", color="black", weight=3]; 104.20/77.99 2911[label="absReal1 (Pos (Succ vuz840)) True",fontsize=16,color="black",shape="box"];2911 -> 2917[label="",style="solid", color="black", weight=3]; 104.20/77.99 2912[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];2912 -> 2918[label="",style="solid", color="black", weight=3]; 104.20/77.99 2913[label="primRemInt vuz87 (Pos (Succ vuz8600))",fontsize=16,color="burlywood",shape="box"];3271[label="vuz87/Pos vuz870",fontsize=10,color="white",style="solid",shape="box"];2913 -> 3271[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3271 -> 2919[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3272[label="vuz87/Neg vuz870",fontsize=10,color="white",style="solid",shape="box"];2913 -> 3272[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3272 -> 2920[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2914[label="primRemInt vuz87 (Neg (Succ vuz8600))",fontsize=16,color="burlywood",shape="box"];3273[label="vuz87/Pos vuz870",fontsize=10,color="white",style="solid",shape="box"];2914 -> 3273[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3273 -> 2921[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3274[label="vuz87/Neg vuz870",fontsize=10,color="white",style="solid",shape="box"];2914 -> 3274[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3274 -> 2922[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2915[label="absReal0 (Neg (Succ vuz410)) otherwise",fontsize=16,color="black",shape="box"];2915 -> 2923[label="",style="solid", color="black", weight=3]; 104.20/77.99 2916[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];2916 -> 2924[label="",style="solid", color="black", weight=3]; 104.20/77.99 2917[label="Pos (Succ vuz840)",fontsize=16,color="green",shape="box"];2918[label="Pos Zero",fontsize=16,color="green",shape="box"];2919[label="primRemInt (Pos vuz870) (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2919 -> 2925[label="",style="solid", color="black", weight=3]; 104.20/77.99 2920[label="primRemInt (Neg vuz870) (Pos (Succ vuz8600))",fontsize=16,color="black",shape="box"];2920 -> 2926[label="",style="solid", color="black", weight=3]; 104.20/77.99 2921[label="primRemInt (Pos vuz870) (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2921 -> 2927[label="",style="solid", color="black", weight=3]; 104.20/77.99 2922[label="primRemInt (Neg vuz870) (Neg (Succ vuz8600))",fontsize=16,color="black",shape="box"];2922 -> 2928[label="",style="solid", color="black", weight=3]; 104.20/77.99 2923[label="absReal0 (Neg (Succ vuz410)) True",fontsize=16,color="black",shape="box"];2923 -> 2929[label="",style="solid", color="black", weight=3]; 104.20/77.99 2924[label="Neg Zero",fontsize=16,color="green",shape="box"];2925[label="Pos (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2925 -> 2930[label="",style="dashed", color="green", weight=3]; 104.20/77.99 2926[label="Neg (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2926 -> 2931[label="",style="dashed", color="green", weight=3]; 104.20/77.99 2927[label="Pos (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2927 -> 2932[label="",style="dashed", color="green", weight=3]; 104.20/77.99 2928[label="Neg (primModNatS vuz870 (Succ vuz8600))",fontsize=16,color="green",shape="box"];2928 -> 2933[label="",style="dashed", color="green", weight=3]; 104.20/77.99 2929[label="`negate` Neg (Succ vuz410)",fontsize=16,color="black",shape="box"];2929 -> 2934[label="",style="solid", color="black", weight=3]; 104.20/77.99 2930[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="burlywood",shape="triangle"];3275[label="vuz870/Succ vuz8700",fontsize=10,color="white",style="solid",shape="box"];2930 -> 3275[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3275 -> 2935[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3276[label="vuz870/Zero",fontsize=10,color="white",style="solid",shape="box"];2930 -> 3276[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3276 -> 2936[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2931 -> 2930[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2931[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2931 -> 2937[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2932 -> 2930[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2932[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2932 -> 2938[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2933 -> 2930[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2933[label="primModNatS vuz870 (Succ vuz8600)",fontsize=16,color="magenta"];2933 -> 2939[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2933 -> 2940[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2934[label="primNegInt (Neg (Succ vuz410))",fontsize=16,color="black",shape="box"];2934 -> 2941[label="",style="solid", color="black", weight=3]; 104.20/77.99 2935[label="primModNatS (Succ vuz8700) (Succ vuz8600)",fontsize=16,color="black",shape="box"];2935 -> 2942[label="",style="solid", color="black", weight=3]; 104.20/77.99 2936[label="primModNatS Zero (Succ vuz8600)",fontsize=16,color="black",shape="box"];2936 -> 2943[label="",style="solid", color="black", weight=3]; 104.20/77.99 2937[label="vuz870",fontsize=16,color="green",shape="box"];2938[label="vuz8600",fontsize=16,color="green",shape="box"];2939[label="vuz870",fontsize=16,color="green",shape="box"];2940[label="vuz8600",fontsize=16,color="green",shape="box"];2941[label="Pos (Succ vuz410)",fontsize=16,color="green",shape="box"];2942[label="primModNatS0 vuz8700 vuz8600 (primGEqNatS vuz8700 vuz8600)",fontsize=16,color="burlywood",shape="box"];3277[label="vuz8700/Succ vuz87000",fontsize=10,color="white",style="solid",shape="box"];2942 -> 3277[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3277 -> 2944[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3278[label="vuz8700/Zero",fontsize=10,color="white",style="solid",shape="box"];2942 -> 3278[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3278 -> 2945[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2943[label="Zero",fontsize=16,color="green",shape="box"];2944[label="primModNatS0 (Succ vuz87000) vuz8600 (primGEqNatS (Succ vuz87000) vuz8600)",fontsize=16,color="burlywood",shape="box"];3279[label="vuz8600/Succ vuz86000",fontsize=10,color="white",style="solid",shape="box"];2944 -> 3279[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3279 -> 2946[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3280[label="vuz8600/Zero",fontsize=10,color="white",style="solid",shape="box"];2944 -> 3280[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3280 -> 2947[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2945[label="primModNatS0 Zero vuz8600 (primGEqNatS Zero vuz8600)",fontsize=16,color="burlywood",shape="box"];3281[label="vuz8600/Succ vuz86000",fontsize=10,color="white",style="solid",shape="box"];2945 -> 3281[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3281 -> 2948[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3282[label="vuz8600/Zero",fontsize=10,color="white",style="solid",shape="box"];2945 -> 3282[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3282 -> 2949[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2946[label="primModNatS0 (Succ vuz87000) (Succ vuz86000) (primGEqNatS (Succ vuz87000) (Succ vuz86000))",fontsize=16,color="black",shape="box"];2946 -> 2950[label="",style="solid", color="black", weight=3]; 104.20/77.99 2947[label="primModNatS0 (Succ vuz87000) Zero (primGEqNatS (Succ vuz87000) Zero)",fontsize=16,color="black",shape="box"];2947 -> 2951[label="",style="solid", color="black", weight=3]; 104.20/77.99 2948[label="primModNatS0 Zero (Succ vuz86000) (primGEqNatS Zero (Succ vuz86000))",fontsize=16,color="black",shape="box"];2948 -> 2952[label="",style="solid", color="black", weight=3]; 104.20/77.99 2949[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2949 -> 2953[label="",style="solid", color="black", weight=3]; 104.20/77.99 2950 -> 3112[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2950[label="primModNatS0 (Succ vuz87000) (Succ vuz86000) (primGEqNatS vuz87000 vuz86000)",fontsize=16,color="magenta"];2950 -> 3113[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2950 -> 3114[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2950 -> 3115[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2950 -> 3116[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2951[label="primModNatS0 (Succ vuz87000) Zero True",fontsize=16,color="black",shape="box"];2951 -> 2956[label="",style="solid", color="black", weight=3]; 104.20/77.99 2952[label="primModNatS0 Zero (Succ vuz86000) False",fontsize=16,color="black",shape="box"];2952 -> 2957[label="",style="solid", color="black", weight=3]; 104.20/77.99 2953[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];2953 -> 2958[label="",style="solid", color="black", weight=3]; 104.20/77.99 3113[label="vuz87000",fontsize=16,color="green",shape="box"];3114[label="vuz87000",fontsize=16,color="green",shape="box"];3115[label="vuz86000",fontsize=16,color="green",shape="box"];3116[label="vuz86000",fontsize=16,color="green",shape="box"];3112[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz106 vuz107)",fontsize=16,color="burlywood",shape="triangle"];3283[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];3112 -> 3283[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3283 -> 3145[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3284[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];3112 -> 3284[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3284 -> 3146[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2956 -> 2930[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2956[label="primModNatS (primMinusNatS (Succ vuz87000) Zero) (Succ Zero)",fontsize=16,color="magenta"];2956 -> 2963[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2956 -> 2964[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2957[label="Succ Zero",fontsize=16,color="green",shape="box"];2958 -> 2930[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2958[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];2958 -> 2965[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2958 -> 2966[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 3145[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) vuz107)",fontsize=16,color="burlywood",shape="box"];3285[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];3145 -> 3285[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3285 -> 3147[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3286[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];3145 -> 3286[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3286 -> 3148[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3146[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero vuz107)",fontsize=16,color="burlywood",shape="box"];3287[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];3146 -> 3287[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3287 -> 3149[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 3288[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];3146 -> 3288[label="",style="solid", color="burlywood", weight=9]; 104.20/77.99 3288 -> 3150[label="",style="solid", color="burlywood", weight=3]; 104.20/77.99 2963 -> 2734[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2963[label="primMinusNatS (Succ vuz87000) Zero",fontsize=16,color="magenta"];2963 -> 2971[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2963 -> 2972[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2964[label="Zero",fontsize=16,color="green",shape="box"];2965 -> 2734[label="",style="dashed", color="red", weight=0]; 104.20/77.99 2965[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];2965 -> 2973[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2965 -> 2974[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 2966[label="Zero",fontsize=16,color="green",shape="box"];3147[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) (Succ vuz1070))",fontsize=16,color="black",shape="box"];3147 -> 3151[label="",style="solid", color="black", weight=3]; 104.20/77.99 3148[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) Zero)",fontsize=16,color="black",shape="box"];3148 -> 3152[label="",style="solid", color="black", weight=3]; 104.20/77.99 3149[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero (Succ vuz1070))",fontsize=16,color="black",shape="box"];3149 -> 3153[label="",style="solid", color="black", weight=3]; 104.20/77.99 3150[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3150 -> 3154[label="",style="solid", color="black", weight=3]; 104.20/77.99 2971[label="Zero",fontsize=16,color="green",shape="box"];2972[label="Succ vuz87000",fontsize=16,color="green",shape="box"];2973[label="Zero",fontsize=16,color="green",shape="box"];2974[label="Zero",fontsize=16,color="green",shape="box"];3151 -> 3112[label="",style="dashed", color="red", weight=0]; 104.20/77.99 3151[label="primModNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz1060 vuz1070)",fontsize=16,color="magenta"];3151 -> 3155[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 3151 -> 3156[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 3152[label="primModNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="black",shape="triangle"];3152 -> 3157[label="",style="solid", color="black", weight=3]; 104.20/77.99 3153[label="primModNatS0 (Succ vuz104) (Succ vuz105) False",fontsize=16,color="black",shape="box"];3153 -> 3158[label="",style="solid", color="black", weight=3]; 104.20/77.99 3154 -> 3152[label="",style="dashed", color="red", weight=0]; 104.20/77.99 3154[label="primModNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="magenta"];3155[label="vuz1060",fontsize=16,color="green",shape="box"];3156[label="vuz1070",fontsize=16,color="green",shape="box"];3157 -> 2930[label="",style="dashed", color="red", weight=0]; 104.20/77.99 3157[label="primModNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105))",fontsize=16,color="magenta"];3157 -> 3159[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 3157 -> 3160[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 3158[label="Succ (Succ vuz104)",fontsize=16,color="green",shape="box"];3159 -> 2734[label="",style="dashed", color="red", weight=0]; 104.20/77.99 3159[label="primMinusNatS (Succ vuz104) (Succ vuz105)",fontsize=16,color="magenta"];3159 -> 3161[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 3159 -> 3162[label="",style="dashed", color="magenta", weight=3]; 104.20/77.99 3160[label="Succ vuz105",fontsize=16,color="green",shape="box"];3161[label="Succ vuz105",fontsize=16,color="green",shape="box"];3162[label="Succ vuz104",fontsize=16,color="green",shape="box"];} 104.20/77.99 104.20/77.99 ---------------------------------------- 104.20/77.99 104.20/77.99 (423) 104.20/77.99 TRUE 104.23/78.02 EOF