106.01/78.07 MAYBE 106.01/78.07 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 106.01/78.07 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 106.01/78.07 106.01/78.07 106.01/78.07 H-Termination with start terms of the given HASKELL could not be shown: 106.01/78.07 106.01/78.07 (0) HASKELL 106.01/78.07 (1) IFR [EQUIVALENT, 0 ms] 106.01/78.07 (2) HASKELL 106.01/78.07 (3) BR [EQUIVALENT, 0 ms] 106.01/78.07 (4) HASKELL 106.01/78.07 (5) COR [EQUIVALENT, 25 ms] 106.01/78.07 (6) HASKELL 106.01/78.07 (7) LetRed [EQUIVALENT, 0 ms] 106.01/78.07 (8) HASKELL 106.01/78.07 (9) NumRed [SOUND, 0 ms] 106.01/78.07 (10) HASKELL 106.01/78.07 (11) Narrow [SOUND, 0 ms] 106.01/78.07 (12) AND 106.01/78.07 (13) QDP 106.01/78.07 (14) MNOCProof [EQUIVALENT, 0 ms] 106.01/78.07 (15) QDP 106.01/78.07 (16) InductionCalculusProof [EQUIVALENT, 0 ms] 106.01/78.07 (17) QDP 106.01/78.07 (18) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (19) QDP 106.01/78.07 (20) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (21) AND 106.01/78.07 (22) QDP 106.01/78.07 (23) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.07 (24) QDP 106.01/78.07 (25) QReductionProof [EQUIVALENT, 0 ms] 106.01/78.07 (26) QDP 106.01/78.07 (27) TransformationProof [EQUIVALENT, 3 ms] 106.01/78.07 (28) QDP 106.01/78.07 (29) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (30) AND 106.01/78.07 (31) QDP 106.01/78.07 (32) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.07 (33) QDP 106.01/78.07 (34) QReductionProof [EQUIVALENT, 0 ms] 106.01/78.07 (35) QDP 106.01/78.07 (36) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (37) QDP 106.01/78.07 (38) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (39) QDP 106.01/78.07 (40) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (41) QDP 106.01/78.07 (42) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (43) QDP 106.01/78.07 (44) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (45) QDP 106.01/78.07 (46) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (47) QDP 106.01/78.07 (48) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (49) QDP 106.01/78.07 (50) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (51) QDP 106.01/78.07 (52) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (53) QDP 106.01/78.07 (54) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (55) QDP 106.01/78.07 (56) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (57) QDP 106.01/78.07 (58) QDPSizeChangeProof [EQUIVALENT, 0 ms] 106.01/78.07 (59) YES 106.01/78.07 (60) QDP 106.01/78.07 (61) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.07 (62) QDP 106.01/78.07 (63) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (64) QDP 106.01/78.07 (65) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (66) AND 106.01/78.07 (67) QDP 106.01/78.07 (68) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (69) QDP 106.01/78.07 (70) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (71) QDP 106.01/78.07 (72) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (73) QDP 106.01/78.07 (74) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (75) QDP 106.01/78.07 (76) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (77) QDP 106.01/78.07 (78) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (79) QDP 106.01/78.07 (80) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (81) QDP 106.01/78.07 (82) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (83) QDP 106.01/78.07 (84) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (85) QDP 106.01/78.07 (86) QDPOrderProof [EQUIVALENT, 30 ms] 106.01/78.07 (87) QDP 106.01/78.07 (88) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (89) TRUE 106.01/78.07 (90) QDP 106.01/78.07 (91) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (92) QDP 106.01/78.07 (93) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (94) AND 106.01/78.07 (95) QDP 106.01/78.07 (96) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (97) QDP 106.01/78.07 (98) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (99) QDP 106.01/78.07 (100) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (101) QDP 106.01/78.07 (102) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (103) QDP 106.01/78.07 (104) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (105) QDP 106.01/78.07 (106) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (107) QDP 106.01/78.07 (108) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (109) QDP 106.01/78.07 (110) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (111) QDP 106.01/78.07 (112) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (113) QDP 106.01/78.07 (114) QDPOrderProof [EQUIVALENT, 0 ms] 106.01/78.07 (115) QDP 106.01/78.07 (116) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (117) TRUE 106.01/78.07 (118) QDP 106.01/78.07 (119) InductionCalculusProof [EQUIVALENT, 0 ms] 106.01/78.07 (120) QDP 106.01/78.07 (121) QDP 106.01/78.07 (122) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.07 (123) QDP 106.01/78.07 (124) QReductionProof [EQUIVALENT, 0 ms] 106.01/78.07 (125) QDP 106.01/78.07 (126) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (127) QDP 106.01/78.07 (128) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (129) AND 106.01/78.07 (130) QDP 106.01/78.07 (131) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.07 (132) QDP 106.01/78.07 (133) QReductionProof [EQUIVALENT, 0 ms] 106.01/78.07 (134) QDP 106.01/78.07 (135) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (136) QDP 106.01/78.07 (137) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (138) AND 106.01/78.07 (139) QDP 106.01/78.07 (140) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.07 (141) QDP 106.01/78.07 (142) QReductionProof [EQUIVALENT, 0 ms] 106.01/78.07 (143) QDP 106.01/78.07 (144) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (145) QDP 106.01/78.07 (146) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (147) QDP 106.01/78.07 (148) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (149) QDP 106.01/78.07 (150) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (151) QDP 106.01/78.07 (152) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (153) QDP 106.01/78.07 (154) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (155) QDP 106.01/78.07 (156) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (157) QDP 106.01/78.07 (158) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (159) QDP 106.01/78.07 (160) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (161) QDP 106.01/78.07 (162) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.07 (163) QDP 106.01/78.07 (164) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.07 (165) QDP 106.01/78.07 (166) QDPSizeChangeProof [EQUIVALENT, 0 ms] 106.01/78.08 (167) YES 106.01/78.08 (168) QDP 106.01/78.08 (169) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.08 (170) QDP 106.01/78.08 (171) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (172) QDP 106.01/78.08 (173) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (174) AND 106.01/78.08 (175) QDP 106.01/78.08 (176) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (177) QDP 106.01/78.08 (178) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (179) QDP 106.01/78.08 (180) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (181) QDP 106.01/78.08 (182) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (183) QDP 106.01/78.08 (184) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (185) QDP 106.01/78.08 (186) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (187) QDP 106.01/78.08 (188) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (189) QDP 106.01/78.08 (190) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (191) QDP 106.01/78.08 (192) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (193) QDP 106.01/78.08 (194) QDPOrderProof [EQUIVALENT, 0 ms] 106.01/78.08 (195) QDP 106.01/78.08 (196) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (197) TRUE 106.01/78.08 (198) QDP 106.01/78.08 (199) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (200) QDP 106.01/78.08 (201) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (202) AND 106.01/78.08 (203) QDP 106.01/78.08 (204) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (205) QDP 106.01/78.08 (206) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (207) QDP 106.01/78.08 (208) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (209) QDP 106.01/78.08 (210) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (211) QDP 106.01/78.08 (212) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (213) QDP 106.01/78.08 (214) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (215) QDP 106.01/78.08 (216) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (217) QDP 106.01/78.08 (218) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (219) QDP 106.01/78.08 (220) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (221) QDP 106.01/78.08 (222) QDPOrderProof [EQUIVALENT, 18 ms] 106.01/78.08 (223) QDP 106.01/78.08 (224) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (225) TRUE 106.01/78.08 (226) QDP 106.01/78.08 (227) InductionCalculusProof [EQUIVALENT, 0 ms] 106.01/78.08 (228) QDP 106.01/78.08 (229) QDP 106.01/78.08 (230) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.08 (231) QDP 106.01/78.08 (232) QReductionProof [EQUIVALENT, 0 ms] 106.01/78.08 (233) QDP 106.01/78.08 (234) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (235) QDP 106.01/78.08 (236) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (237) QDP 106.01/78.08 (238) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (239) QDP 106.01/78.08 (240) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (241) QDP 106.01/78.08 (242) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (243) QDP 106.01/78.08 (244) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (245) QDP 106.01/78.08 (246) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (247) AND 106.01/78.08 (248) QDP 106.01/78.08 (249) UsableRulesProof [EQUIVALENT, 0 ms] 106.01/78.08 (250) QDP 106.01/78.08 (251) QReductionProof [EQUIVALENT, 0 ms] 106.01/78.08 (252) QDP 106.01/78.08 (253) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (254) QDP 106.01/78.08 (255) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (256) QDP 106.01/78.08 (257) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (258) QDP 106.01/78.08 (259) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (260) QDP 106.01/78.08 (261) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (262) QDP 106.01/78.08 (263) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (264) QDP 106.01/78.08 (265) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (266) QDP 106.01/78.08 (267) TransformationProof [EQUIVALENT, 0 ms] 106.01/78.08 (268) QDP 106.01/78.08 (269) DependencyGraphProof [EQUIVALENT, 0 ms] 106.01/78.08 (270) QDP 106.01/78.08 (271) QDPSizeChangeProof [EQUIVALENT, 0 ms] 106.01/78.08 (272) YES 106.01/78.08 (273) QDP 106.01/78.08 (274) UsableRulesProof [EQUIVALENT, 0 ms] 108.51/78.76 (275) QDP 108.51/78.76 (276) QReductionProof [EQUIVALENT, 0 ms] 108.51/78.76 (277) QDP 108.51/78.76 (278) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (279) QDP 108.51/78.76 (280) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (281) QDP 108.51/78.76 (282) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (283) QDP 108.51/78.76 (284) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (285) QDP 108.51/78.76 (286) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (287) QDP 108.51/78.76 (288) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (289) QDP 108.51/78.76 (290) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (291) QDP 108.51/78.76 (292) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (293) QDP 108.51/78.76 (294) QDPSizeChangeProof [EQUIVALENT, 0 ms] 108.51/78.76 (295) YES 108.51/78.76 (296) QDP 108.51/78.76 (297) UsableRulesProof [EQUIVALENT, 0 ms] 108.51/78.76 (298) QDP 108.51/78.76 (299) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (300) QDP 108.51/78.76 (301) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (302) QDP 108.51/78.76 (303) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (304) QDP 108.51/78.76 (305) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (306) QDP 108.51/78.76 (307) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (308) QDP 108.51/78.76 (309) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (310) QDP 108.51/78.76 (311) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (312) QDP 108.51/78.76 (313) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (314) QDP 108.51/78.76 (315) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (316) QDP 108.51/78.76 (317) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (318) QDP 108.51/78.76 (319) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (320) QDP 108.51/78.76 (321) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (322) QDP 108.51/78.76 (323) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (324) QDP 108.51/78.76 (325) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (326) QDP 108.51/78.76 (327) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (328) QDP 108.51/78.76 (329) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (330) QDP 108.51/78.76 (331) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (332) QDP 108.51/78.76 (333) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (334) QDP 108.51/78.76 (335) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (336) QDP 108.51/78.76 (337) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (338) AND 108.51/78.76 (339) QDP 108.51/78.76 (340) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (341) QDP 108.51/78.76 (342) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (343) QDP 108.51/78.76 (344) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (345) QDP 108.51/78.76 (346) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (347) QDP 108.51/78.76 (348) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (349) QDP 108.51/78.76 (350) QDPOrderProof [EQUIVALENT, 95 ms] 108.51/78.76 (351) QDP 108.51/78.76 (352) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (353) TRUE 108.51/78.76 (354) QDP 108.51/78.76 (355) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (356) QDP 108.51/78.76 (357) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (358) QDP 108.51/78.76 (359) QDPOrderProof [EQUIVALENT, 97 ms] 108.51/78.76 (360) QDP 108.51/78.76 (361) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (362) TRUE 108.51/78.76 (363) QDP 108.51/78.76 (364) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (365) QDP 108.51/78.76 (366) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (367) AND 108.51/78.76 (368) QDP 108.51/78.76 (369) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (370) QDP 108.51/78.76 (371) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (372) QDP 108.51/78.76 (373) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (374) QDP 108.51/78.76 (375) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (376) QDP 108.51/78.76 (377) QDPOrderProof [EQUIVALENT, 16 ms] 108.51/78.76 (378) QDP 108.51/78.76 (379) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (380) TRUE 108.51/78.76 (381) QDP 108.51/78.76 (382) QDPOrderProof [EQUIVALENT, 88 ms] 108.51/78.76 (383) QDP 108.51/78.76 (384) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (385) TRUE 108.51/78.76 (386) QDP 108.51/78.76 (387) InductionCalculusProof [EQUIVALENT, 0 ms] 108.51/78.76 (388) QDP 108.51/78.76 (389) QDP 108.51/78.76 (390) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (391) QDP 108.51/78.76 (392) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (393) QDP 108.51/78.76 (394) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (395) QDP 108.51/78.76 (396) UsableRulesProof [EQUIVALENT, 0 ms] 108.51/78.76 (397) QDP 108.51/78.76 (398) QReductionProof [EQUIVALENT, 0 ms] 108.51/78.76 (399) QDP 108.51/78.76 (400) TransformationProof [EQUIVALENT, 18 ms] 108.51/78.76 (401) QDP 108.51/78.76 (402) UsableRulesProof [EQUIVALENT, 0 ms] 108.51/78.76 (403) QDP 108.51/78.76 (404) QReductionProof [EQUIVALENT, 0 ms] 108.51/78.76 (405) QDP 108.51/78.76 (406) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (407) QDP 108.51/78.76 (408) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (409) QDP 108.51/78.76 (410) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (411) QDP 108.51/78.76 (412) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (413) QDP 108.51/78.76 (414) QDPSizeChangeProof [EQUIVALENT, 0 ms] 108.51/78.76 (415) YES 108.51/78.76 (416) QDP 108.51/78.76 (417) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (418) AND 108.51/78.76 (419) QDP 108.51/78.76 (420) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (421) QDP 108.51/78.76 (422) TransformationProof [EQUIVALENT, 0 ms] 108.51/78.76 (423) QDP 108.51/78.76 (424) QDPSizeChangeProof [EQUIVALENT, 0 ms] 108.51/78.76 (425) YES 108.51/78.76 (426) QDP 108.51/78.76 (427) QDPSizeChangeProof [EQUIVALENT, 0 ms] 108.51/78.76 (428) YES 108.51/78.76 (429) QDP 108.51/78.76 (430) DependencyGraphProof [EQUIVALENT, 0 ms] 108.51/78.76 (431) AND 108.51/78.76 (432) QDP 108.51/78.76 (433) MRRProof [EQUIVALENT, 0 ms] 108.51/78.76 (434) QDP 108.51/78.76 (435) PisEmptyProof [EQUIVALENT, 0 ms] 108.51/78.76 (436) YES 108.51/78.76 (437) QDP 108.51/78.76 (438) QDPSizeChangeProof [EQUIVALENT, 0 ms] 108.51/78.76 (439) YES 108.51/78.76 (440) QDP 108.51/78.76 (441) QDPSizeChangeProof [EQUIVALENT, 0 ms] 108.51/78.76 (442) YES 108.51/78.76 (443) QDP 108.51/78.76 (444) QDPSizeChangeProof [EQUIVALENT, 0 ms] 108.51/78.76 (445) YES 108.51/78.76 (446) QDP 108.51/78.76 (447) QDPSizeChangeProof [EQUIVALENT, 0 ms] 108.51/78.76 (448) YES 108.51/78.76 (449) Narrow [COMPLETE, 0 ms] 108.51/78.76 (450) QDP 108.51/78.76 (451) PisEmptyProof [EQUIVALENT, 0 ms] 108.51/78.76 (452) YES 108.51/78.76 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (0) 108.51/78.76 Obligation: 108.51/78.76 mainModule Main 108.51/78.76 module Main where { 108.51/78.76 import qualified Prelude; 108.51/78.76 } 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (1) IFR (EQUIVALENT) 108.51/78.76 If Reductions: 108.51/78.76 The following If expression 108.51/78.76 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 108.51/78.76 is transformed to 108.51/78.76 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 108.51/78.76 primDivNatS0 x y False = Zero; 108.51/78.76 " 108.51/78.76 The following If expression 108.51/78.76 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 108.51/78.76 is transformed to 108.51/78.76 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 108.51/78.76 primModNatS0 x y False = Succ x; 108.51/78.76 " 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (2) 108.51/78.76 Obligation: 108.51/78.76 mainModule Main 108.51/78.76 module Main where { 108.51/78.76 import qualified Prelude; 108.51/78.76 } 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (3) BR (EQUIVALENT) 108.51/78.76 Replaced joker patterns by fresh variables and removed binding patterns. 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (4) 108.51/78.76 Obligation: 108.51/78.76 mainModule Main 108.51/78.76 module Main where { 108.51/78.76 import qualified Prelude; 108.51/78.76 } 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (5) COR (EQUIVALENT) 108.51/78.76 Cond Reductions: 108.51/78.76 The following Function with conditions 108.51/78.76 "absReal x|x >= 0x|otherwise`negate` x; 108.51/78.76 " 108.51/78.76 is transformed to 108.51/78.76 "absReal x = absReal2 x; 108.51/78.76 " 108.51/78.76 "absReal1 x True = x; 108.51/78.76 absReal1 x False = absReal0 x otherwise; 108.51/78.76 " 108.51/78.76 "absReal0 x True = `negate` x; 108.51/78.76 " 108.51/78.76 "absReal2 x = absReal1 x (x >= 0); 108.51/78.76 " 108.51/78.76 The following Function with conditions 108.51/78.76 "gcd' x 0 = x; 108.51/78.76 gcd' x y = gcd' y (x `rem` y); 108.51/78.76 " 108.51/78.76 is transformed to 108.51/78.76 "gcd' x xz = gcd'2 x xz; 108.51/78.76 gcd' x y = gcd'0 x y; 108.51/78.76 " 108.51/78.76 "gcd'0 x y = gcd' y (x `rem` y); 108.51/78.76 " 108.51/78.76 "gcd'1 True x xz = x; 108.51/78.76 gcd'1 yu yv yw = gcd'0 yv yw; 108.51/78.76 " 108.51/78.76 "gcd'2 x xz = gcd'1 (xz == 0) x xz; 108.51/78.76 gcd'2 yx yy = gcd'0 yx yy; 108.51/78.76 " 108.51/78.76 The following Function with conditions 108.51/78.76 "gcd 0 0 = error []; 108.51/78.76 gcd x y = gcd' (abs x) (abs y) where { 108.51/78.76 gcd' x 0 = x; 108.51/78.76 gcd' x y = gcd' y (x `rem` y); 108.51/78.76 } 108.51/78.76 ; 108.51/78.76 " 108.51/78.76 is transformed to 108.51/78.76 "gcd yz zu = gcd3 yz zu; 108.51/78.76 gcd x y = gcd0 x y; 108.51/78.76 " 108.51/78.76 "gcd0 x y = gcd' (abs x) (abs y) where { 108.51/78.76 gcd' x xz = gcd'2 x xz; 108.51/78.76 gcd' x y = gcd'0 x y; 108.51/78.76 ; 108.51/78.76 gcd'0 x y = gcd' y (x `rem` y); 108.51/78.76 ; 108.51/78.76 gcd'1 True x xz = x; 108.51/78.76 gcd'1 yu yv yw = gcd'0 yv yw; 108.51/78.76 ; 108.51/78.76 gcd'2 x xz = gcd'1 (xz == 0) x xz; 108.51/78.76 gcd'2 yx yy = gcd'0 yx yy; 108.51/78.76 } 108.51/78.76 ; 108.51/78.76 " 108.51/78.76 "gcd1 True yz zu = error []; 108.51/78.76 gcd1 zv zw zx = gcd0 zw zx; 108.51/78.76 " 108.51/78.76 "gcd2 True yz zu = gcd1 (zu == 0) yz zu; 108.51/78.76 gcd2 zy zz vuu = gcd0 zz vuu; 108.51/78.76 " 108.51/78.76 "gcd3 yz zu = gcd2 (yz == 0) yz zu; 108.51/78.76 gcd3 vuv vuw = gcd0 vuv vuw; 108.51/78.76 " 108.51/78.76 The following Function with conditions 108.51/78.76 "undefined |Falseundefined; 108.51/78.76 " 108.51/78.76 is transformed to 108.51/78.76 "undefined = undefined1; 108.51/78.76 " 108.51/78.76 "undefined0 True = undefined; 108.51/78.76 " 108.51/78.76 "undefined1 = undefined0 False; 108.51/78.76 " 108.51/78.76 The following Function with conditions 108.51/78.76 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 108.51/78.76 d = gcd x y; 108.51/78.76 } 108.51/78.76 ; 108.51/78.76 " 108.51/78.76 is transformed to 108.51/78.76 "reduce x y = reduce2 x y; 108.51/78.76 " 108.51/78.76 "reduce2 x y = reduce1 x y (y == 0) where { 108.51/78.76 d = gcd x y; 108.51/78.76 ; 108.51/78.76 reduce0 x y True = x `quot` d :% (y `quot` d); 108.51/78.76 ; 108.51/78.76 reduce1 x y True = error []; 108.51/78.76 reduce1 x y False = reduce0 x y otherwise; 108.51/78.76 } 108.51/78.76 ; 108.51/78.76 " 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (6) 108.51/78.76 Obligation: 108.51/78.76 mainModule Main 108.51/78.76 module Main where { 108.51/78.76 import qualified Prelude; 108.51/78.76 } 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (7) LetRed (EQUIVALENT) 108.51/78.76 Let/Where Reductions: 108.51/78.76 The bindings of the following Let/Where expression 108.51/78.76 "gcd' (abs x) (abs y) where { 108.51/78.76 gcd' x xz = gcd'2 x xz; 108.51/78.76 gcd' x y = gcd'0 x y; 108.51/78.76 ; 108.51/78.76 gcd'0 x y = gcd' y (x `rem` y); 108.51/78.76 ; 108.51/78.76 gcd'1 True x xz = x; 108.51/78.76 gcd'1 yu yv yw = gcd'0 yv yw; 108.51/78.76 ; 108.51/78.76 gcd'2 x xz = gcd'1 (xz == 0) x xz; 108.51/78.76 gcd'2 yx yy = gcd'0 yx yy; 108.51/78.76 } 108.51/78.76 " 108.51/78.76 are unpacked to the following functions on top level 108.51/78.76 "gcd0Gcd'1 True x xz = x; 108.51/78.76 gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; 108.51/78.76 " 108.51/78.76 "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; 108.51/78.76 gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; 108.51/78.76 " 108.51/78.76 "gcd0Gcd' x xz = gcd0Gcd'2 x xz; 108.51/78.76 gcd0Gcd' x y = gcd0Gcd'0 x y; 108.51/78.76 " 108.51/78.76 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 108.51/78.76 " 108.51/78.76 The bindings of the following Let/Where expression 108.51/78.76 "reduce1 x y (y == 0) where { 108.51/78.76 d = gcd x y; 108.51/78.76 ; 108.51/78.76 reduce0 x y True = x `quot` d :% (y `quot` d); 108.51/78.76 ; 108.51/78.76 reduce1 x y True = error []; 108.51/78.76 reduce1 x y False = reduce0 x y otherwise; 108.51/78.76 } 108.51/78.76 " 108.51/78.76 are unpacked to the following functions on top level 108.51/78.76 "reduce2Reduce1 vux vuy x y True = error []; 108.51/78.76 reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; 108.51/78.76 " 108.51/78.76 "reduce2D vux vuy = gcd vux vuy; 108.51/78.76 " 108.51/78.76 "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); 108.51/78.76 " 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (8) 108.51/78.76 Obligation: 108.51/78.76 mainModule Main 108.51/78.76 module Main where { 108.51/78.76 import qualified Prelude; 108.51/78.76 } 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (9) NumRed (SOUND) 108.51/78.76 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (10) 108.51/78.76 Obligation: 108.51/78.76 mainModule Main 108.51/78.76 module Main where { 108.51/78.76 import qualified Prelude; 108.51/78.76 } 108.51/78.76 108.51/78.76 ---------------------------------------- 108.51/78.76 108.51/78.76 (11) Narrow (SOUND) 108.51/78.76 Haskell To QDPs 108.51/78.76 108.51/78.76 digraph dp_graph { 108.51/78.76 node [outthreshold=100, inthreshold=100];1[label="product",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 108.51/78.76 3[label="product vuz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 108.51/78.76 4[label="foldl' (*) (fromInt (Pos (Succ Zero))) vuz3",fontsize=16,color="burlywood",shape="box"];6709[label="vuz3/vuz30 : vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 6709[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6709 -> 5[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6710[label="vuz3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 6710[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6710 -> 6[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 5[label="foldl' (*) (fromInt (Pos (Succ Zero))) (vuz30 : vuz31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 108.51/78.76 6[label="foldl' (*) (fromInt (Pos (Succ Zero))) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 108.51/78.76 7[label="(foldl' (*) $! (*) fromInt (Pos (Succ Zero)) vuz30)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 108.51/78.76 8[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];8 -> 10[label="",style="solid", color="black", weight=3]; 108.51/78.76 9 -> 11[label="",style="dashed", color="red", weight=0]; 108.51/78.76 9[label="((*) fromInt (Pos (Succ Zero)) vuz30 `seq` foldl' (*) ((*) fromInt (Pos (Succ Zero)) vuz30))",fontsize=16,color="magenta"];9 -> 12[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 9 -> 13[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 10[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 108.51/78.76 12 -> 8[label="",style="dashed", color="red", weight=0]; 108.51/78.76 12[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];13 -> 8[label="",style="dashed", color="red", weight=0]; 108.51/78.76 13[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];11[label="((*) vuz4 vuz30 `seq` foldl' (*) ((*) vuz5 vuz30))",fontsize=16,color="black",shape="triangle"];11 -> 15[label="",style="solid", color="black", weight=3]; 108.51/78.76 14[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];14 -> 16[label="",style="dashed", color="green", weight=3]; 108.51/78.76 14 -> 17[label="",style="dashed", color="green", weight=3]; 108.51/78.76 15[label="enforceWHNF (WHNF ((*) vuz4 vuz30)) (foldl' (*) ((*) vuz5 vuz30)) vuz31",fontsize=16,color="burlywood",shape="box"];6711[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 6711[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6711 -> 18[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 16[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];16 -> 19[label="",style="solid", color="black", weight=3]; 108.51/78.76 17 -> 16[label="",style="dashed", color="red", weight=0]; 108.51/78.76 17[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];18[label="enforceWHNF (WHNF ((*) (vuz40 :% vuz41) vuz30)) (foldl' (*) ((*) vuz5 vuz30)) vuz31",fontsize=16,color="burlywood",shape="box"];6712[label="vuz30/vuz300 :% vuz301",fontsize=10,color="white",style="solid",shape="box"];18 -> 6712[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6712 -> 20[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 19[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];20[label="enforceWHNF (WHNF ((*) (vuz40 :% vuz41) (vuz300 :% vuz301))) (foldl' (*) ((*) vuz5 (vuz300 :% vuz301))) vuz31",fontsize=16,color="black",shape="box"];20 -> 21[label="",style="solid", color="black", weight=3]; 108.51/78.76 21[label="enforceWHNF (WHNF (reduce (vuz40 * vuz300) (vuz41 * vuz301))) (foldl' (*) (reduce (vuz40 * vuz300) (vuz41 * vuz301))) vuz31",fontsize=16,color="black",shape="box"];21 -> 22[label="",style="solid", color="black", weight=3]; 108.51/78.76 22[label="enforceWHNF (WHNF (reduce2 (vuz40 * vuz300) (vuz41 * vuz301))) (foldl' (*) (reduce2 (vuz40 * vuz300) (vuz41 * vuz301))) vuz31",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 108.51/78.76 23[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (vuz41 * vuz301 == fromInt (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (vuz41 * vuz301 == fromInt (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 108.51/78.76 24[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (primEqInt (vuz41 * vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (primEqInt (vuz41 * vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 108.51/78.76 25[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt vuz41 vuz301) (vuz40 * vuz300) (primMulInt vuz41 vuz301) (primEqInt (primMulInt vuz41 vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt vuz41 vuz301) (vuz40 * vuz300) (primMulInt vuz41 vuz301) (primEqInt (primMulInt vuz41 vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6713[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];25 -> 6713[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6713 -> 26[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6714[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];25 -> 6714[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6714 -> 27[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 26[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (primEqInt (primMulInt (Pos vuz410) vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (primEqInt (primMulInt (Pos vuz410) vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6715[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];26 -> 6715[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6715 -> 28[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6716[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];26 -> 6716[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6716 -> 29[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 27[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (primEqInt (primMulInt (Neg vuz410) vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (primEqInt (primMulInt (Neg vuz410) vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6717[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];27 -> 6717[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6717 -> 30[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6718[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];27 -> 6718[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6718 -> 31[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 28[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 108.51/78.76 29[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 108.51/78.76 30[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 108.51/78.76 31[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 108.51/78.76 32 -> 304[label="",style="dashed", color="red", weight=0]; 108.51/78.76 32[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];32 -> 305[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 32 -> 306[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 32 -> 307[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 32 -> 308[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 32 -> 309[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 32 -> 310[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 33 -> 393[label="",style="dashed", color="red", weight=0]; 108.51/78.76 33[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];33 -> 394[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 33 -> 395[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 33 -> 396[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 33 -> 397[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 33 -> 398[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 33 -> 399[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 34 -> 393[label="",style="dashed", color="red", weight=0]; 108.51/78.76 34[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];34 -> 400[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 34 -> 401[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 34 -> 402[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 34 -> 403[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 34 -> 404[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 34 -> 405[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 35 -> 304[label="",style="dashed", color="red", weight=0]; 108.51/78.76 35[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];35 -> 311[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 35 -> 312[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 35 -> 313[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 35 -> 314[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 35 -> 315[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 35 -> 316[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 305[label="primMulNat vuz410 vuz3010",fontsize=16,color="burlywood",shape="triangle"];6719[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];305 -> 6719[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6719 -> 377[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6720[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];305 -> 6720[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6720 -> 378[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 306 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 306[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];307 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 307[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];308 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 308[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];309 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 309[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];310 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 310[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];304[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos vuz30) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="triangle"];6721[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];304 -> 6721[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6721 -> 379[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6722[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];304 -> 6722[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6722 -> 380[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 394 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 394[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];394 -> 466[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 395 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 395[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];395 -> 467[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 396 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 396[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];396 -> 468[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 397 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 397[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];397 -> 469[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 398 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 398[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];398 -> 470[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 399 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 399[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];399 -> 471[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 393[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg vuz36) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="triangle"];6723[label="vuz36/Succ vuz360",fontsize=10,color="white",style="solid",shape="box"];393 -> 6723[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6723 -> 472[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6724[label="vuz36/Zero",fontsize=10,color="white",style="solid",shape="box"];393 -> 6724[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6724 -> 473[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 400 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 400[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];400 -> 474[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 401 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 401[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];401 -> 475[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 402 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 402[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];402 -> 476[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 403 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 403[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];403 -> 477[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 404 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 404[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];404 -> 478[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 405 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 405[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];405 -> 479[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 311 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 311[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];311 -> 381[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 311 -> 382[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 312 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 312[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];312 -> 383[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 312 -> 384[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 313 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 313[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];313 -> 385[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 313 -> 386[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 314 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 314[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];314 -> 387[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 314 -> 388[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 315 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 315[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];315 -> 389[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 315 -> 390[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 316 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 316[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];316 -> 391[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 316 -> 392[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 377[label="primMulNat (Succ vuz4100) vuz3010",fontsize=16,color="burlywood",shape="box"];6725[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];377 -> 6725[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6725 -> 480[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6726[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];377 -> 6726[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6726 -> 481[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 378[label="primMulNat Zero vuz3010",fontsize=16,color="burlywood",shape="box"];6727[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];378 -> 6727[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6727 -> 482[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6728[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];378 -> 6728[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6728 -> 483[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 379[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos (Succ vuz300)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];379 -> 484[label="",style="solid", color="black", weight=3]; 108.51/78.76 380[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];380 -> 485[label="",style="solid", color="black", weight=3]; 108.51/78.76 466[label="vuz3010",fontsize=16,color="green",shape="box"];467[label="vuz3010",fontsize=16,color="green",shape="box"];468[label="vuz3010",fontsize=16,color="green",shape="box"];469[label="vuz3010",fontsize=16,color="green",shape="box"];470[label="vuz3010",fontsize=16,color="green",shape="box"];471[label="vuz3010",fontsize=16,color="green",shape="box"];472[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg (Succ vuz360)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];472 -> 486[label="",style="solid", color="black", weight=3]; 108.51/78.76 473[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];473 -> 487[label="",style="solid", color="black", weight=3]; 108.51/78.76 474[label="vuz410",fontsize=16,color="green",shape="box"];475[label="vuz410",fontsize=16,color="green",shape="box"];476[label="vuz410",fontsize=16,color="green",shape="box"];477[label="vuz410",fontsize=16,color="green",shape="box"];478[label="vuz410",fontsize=16,color="green",shape="box"];479[label="vuz410",fontsize=16,color="green",shape="box"];381[label="vuz410",fontsize=16,color="green",shape="box"];382[label="vuz3010",fontsize=16,color="green",shape="box"];383[label="vuz410",fontsize=16,color="green",shape="box"];384[label="vuz3010",fontsize=16,color="green",shape="box"];385[label="vuz410",fontsize=16,color="green",shape="box"];386[label="vuz3010",fontsize=16,color="green",shape="box"];387[label="vuz410",fontsize=16,color="green",shape="box"];388[label="vuz3010",fontsize=16,color="green",shape="box"];389[label="vuz410",fontsize=16,color="green",shape="box"];390[label="vuz3010",fontsize=16,color="green",shape="box"];391[label="vuz410",fontsize=16,color="green",shape="box"];392[label="vuz3010",fontsize=16,color="green",shape="box"];480[label="primMulNat (Succ vuz4100) (Succ vuz30100)",fontsize=16,color="black",shape="box"];480 -> 488[label="",style="solid", color="black", weight=3]; 108.51/78.76 481[label="primMulNat (Succ vuz4100) Zero",fontsize=16,color="black",shape="box"];481 -> 489[label="",style="solid", color="black", weight=3]; 108.51/78.76 482[label="primMulNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];482 -> 490[label="",style="solid", color="black", weight=3]; 108.51/78.76 483[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];483 -> 491[label="",style="solid", color="black", weight=3]; 108.51/78.76 484[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos (Succ vuz300)) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];484 -> 492[label="",style="solid", color="black", weight=3]; 108.51/78.76 485[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos Zero) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];485 -> 493[label="",style="solid", color="black", weight=3]; 108.51/78.76 486[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg (Succ vuz360)) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];486 -> 494[label="",style="solid", color="black", weight=3]; 108.51/78.76 487[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg Zero) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];487 -> 495[label="",style="solid", color="black", weight=3]; 108.51/78.76 488 -> 496[label="",style="dashed", color="red", weight=0]; 108.51/78.76 488[label="primPlusNat (primMulNat vuz4100 (Succ vuz30100)) (Succ vuz30100)",fontsize=16,color="magenta"];488 -> 497[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 489[label="Zero",fontsize=16,color="green",shape="box"];490[label="Zero",fontsize=16,color="green",shape="box"];491[label="Zero",fontsize=16,color="green",shape="box"];492[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) False)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) False)) vuz31",fontsize=16,color="black",shape="box"];492 -> 498[label="",style="solid", color="black", weight=3]; 108.51/78.76 493[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) True)) vuz31",fontsize=16,color="black",shape="box"];493 -> 499[label="",style="solid", color="black", weight=3]; 108.51/78.76 494[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) False)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) False)) vuz31",fontsize=16,color="black",shape="box"];494 -> 500[label="",style="solid", color="black", weight=3]; 108.51/78.76 495[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) True)) vuz31",fontsize=16,color="black",shape="box"];495 -> 501[label="",style="solid", color="black", weight=3]; 108.51/78.76 497 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 497[label="primMulNat vuz4100 (Succ vuz30100)",fontsize=16,color="magenta"];497 -> 502[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 497 -> 503[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 496[label="primPlusNat vuz37 (Succ vuz30100)",fontsize=16,color="burlywood",shape="triangle"];6729[label="vuz37/Succ vuz370",fontsize=10,color="white",style="solid",shape="box"];496 -> 6729[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6729 -> 504[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6730[label="vuz37/Zero",fontsize=10,color="white",style="solid",shape="box"];496 -> 6730[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6730 -> 505[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 498[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) otherwise)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) otherwise)) vuz31",fontsize=16,color="black",shape="box"];498 -> 506[label="",style="solid", color="black", weight=3]; 108.51/78.76 499[label="enforceWHNF (WHNF (error [])) (foldl' (*) (error [])) vuz31",fontsize=16,color="black",shape="triangle"];499 -> 507[label="",style="solid", color="black", weight=3]; 108.51/78.76 500[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) otherwise)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) otherwise)) vuz31",fontsize=16,color="black",shape="box"];500 -> 508[label="",style="solid", color="black", weight=3]; 108.51/78.76 501 -> 499[label="",style="dashed", color="red", weight=0]; 108.51/78.76 501[label="enforceWHNF (WHNF (error [])) (foldl' (*) (error [])) vuz31",fontsize=16,color="magenta"];502[label="vuz4100",fontsize=16,color="green",shape="box"];503[label="Succ vuz30100",fontsize=16,color="green",shape="box"];504[label="primPlusNat (Succ vuz370) (Succ vuz30100)",fontsize=16,color="black",shape="box"];504 -> 509[label="",style="solid", color="black", weight=3]; 108.51/78.76 505[label="primPlusNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];505 -> 510[label="",style="solid", color="black", weight=3]; 108.51/78.76 506[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) vuz31",fontsize=16,color="black",shape="box"];506 -> 511[label="",style="solid", color="black", weight=3]; 108.51/78.76 507[label="error []",fontsize=16,color="red",shape="box"];508[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) vuz31",fontsize=16,color="black",shape="box"];508 -> 512[label="",style="solid", color="black", weight=3]; 108.51/78.76 509[label="Succ (Succ (primPlusNat vuz370 vuz30100))",fontsize=16,color="green",shape="box"];509 -> 513[label="",style="dashed", color="green", weight=3]; 108.51/78.76 510[label="Succ vuz30100",fontsize=16,color="green",shape="box"];511 -> 1782[label="",style="dashed", color="red", weight=0]; 108.51/78.76 511[label="enforceWHNF (WHNF (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28) :% (Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)))) (foldl' (*) (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28) :% (Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)))) vuz31",fontsize=16,color="magenta"];511 -> 1783[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 511 -> 1784[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 511 -> 1785[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 511 -> 1786[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 512 -> 1782[label="",style="dashed", color="red", weight=0]; 108.51/78.76 512[label="enforceWHNF (WHNF (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34) :% (Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)))) (foldl' (*) (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34) :% (Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)))) vuz31",fontsize=16,color="magenta"];512 -> 1787[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 512 -> 1788[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 512 -> 1789[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 512 -> 1790[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 513[label="primPlusNat vuz370 vuz30100",fontsize=16,color="burlywood",shape="triangle"];6731[label="vuz370/Succ vuz3700",fontsize=10,color="white",style="solid",shape="box"];513 -> 6731[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6731 -> 516[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6732[label="vuz370/Zero",fontsize=10,color="white",style="solid",shape="box"];513 -> 6732[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6732 -> 517[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 1783[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];1783 -> 3901[label="",style="solid", color="black", weight=3]; 108.51/78.76 1784[label="Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];1784 -> 3902[label="",style="solid", color="black", weight=3]; 108.51/78.76 1785 -> 1784[label="",style="dashed", color="red", weight=0]; 108.51/78.76 1785[label="Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="magenta"];1786 -> 1783[label="",style="dashed", color="red", weight=0]; 108.51/78.76 1786[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="magenta"];1782[label="enforceWHNF (WHNF (vuz104 :% vuz90)) (foldl' (*) (vuz103 :% vuz89)) vuz31",fontsize=16,color="black",shape="triangle"];1782 -> 3903[label="",style="solid", color="black", weight=3]; 108.51/78.76 1787[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];1787 -> 3904[label="",style="solid", color="black", weight=3]; 108.51/78.76 1788[label="Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];1788 -> 3905[label="",style="solid", color="black", weight=3]; 108.51/78.76 1789 -> 1788[label="",style="dashed", color="red", weight=0]; 108.51/78.76 1789[label="Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="magenta"];1790 -> 1787[label="",style="dashed", color="red", weight=0]; 108.51/78.76 1790[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="magenta"];516[label="primPlusNat (Succ vuz3700) vuz30100",fontsize=16,color="burlywood",shape="box"];6733[label="vuz30100/Succ vuz301000",fontsize=10,color="white",style="solid",shape="box"];516 -> 6733[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6733 -> 520[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6734[label="vuz30100/Zero",fontsize=10,color="white",style="solid",shape="box"];516 -> 6734[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6734 -> 521[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 517[label="primPlusNat Zero vuz30100",fontsize=16,color="burlywood",shape="box"];6735[label="vuz30100/Succ vuz301000",fontsize=10,color="white",style="solid",shape="box"];517 -> 6735[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6735 -> 522[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6736[label="vuz30100/Zero",fontsize=10,color="white",style="solid",shape="box"];517 -> 6736[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6736 -> 523[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 3901[label="primQuotInt (vuz40 * vuz300) (reduce2D (vuz40 * vuz300) (Pos vuz28))",fontsize=16,color="black",shape="box"];3901 -> 3906[label="",style="solid", color="black", weight=3]; 108.51/78.76 3902 -> 5758[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3902[label="primQuotInt (Pos vuz27) (reduce2D (vuz40 * vuz300) (Pos vuz28))",fontsize=16,color="magenta"];3902 -> 5759[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3903[label="foldl' (*) (vuz103 :% vuz89) vuz31",fontsize=16,color="burlywood",shape="box"];6737[label="vuz31/vuz310 : vuz311",fontsize=10,color="white",style="solid",shape="box"];3903 -> 6737[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6737 -> 3908[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6738[label="vuz31/[]",fontsize=10,color="white",style="solid",shape="box"];3903 -> 6738[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6738 -> 3909[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 3904[label="primQuotInt (vuz40 * vuz300) (reduce2D (vuz40 * vuz300) (Neg vuz34))",fontsize=16,color="black",shape="box"];3904 -> 3910[label="",style="solid", color="black", weight=3]; 108.51/78.76 3905 -> 4543[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3905[label="primQuotInt (Neg vuz33) (reduce2D (vuz40 * vuz300) (Neg vuz34))",fontsize=16,color="magenta"];3905 -> 4544[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3905 -> 4545[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 520[label="primPlusNat (Succ vuz3700) (Succ vuz301000)",fontsize=16,color="black",shape="box"];520 -> 528[label="",style="solid", color="black", weight=3]; 108.51/78.76 521[label="primPlusNat (Succ vuz3700) Zero",fontsize=16,color="black",shape="box"];521 -> 529[label="",style="solid", color="black", weight=3]; 108.51/78.76 522[label="primPlusNat Zero (Succ vuz301000)",fontsize=16,color="black",shape="box"];522 -> 530[label="",style="solid", color="black", weight=3]; 108.51/78.76 523[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];523 -> 531[label="",style="solid", color="black", weight=3]; 108.51/78.76 3906[label="primQuotInt (primMulInt vuz40 vuz300) (reduce2D (primMulInt vuz40 vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6739[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];3906 -> 6739[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6739 -> 3912[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6740[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];3906 -> 6740[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6740 -> 3913[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 5759[label="reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];5759 -> 6168[label="",style="solid", color="black", weight=3]; 108.51/78.76 5758[label="primQuotInt (Pos vuz27) vuz166",fontsize=16,color="burlywood",shape="triangle"];6741[label="vuz166/Pos vuz1660",fontsize=10,color="white",style="solid",shape="box"];5758 -> 6741[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6741 -> 6169[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6742[label="vuz166/Neg vuz1660",fontsize=10,color="white",style="solid",shape="box"];5758 -> 6742[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6742 -> 6170[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 3908[label="foldl' (*) (vuz103 :% vuz89) (vuz310 : vuz311)",fontsize=16,color="black",shape="box"];3908 -> 3915[label="",style="solid", color="black", weight=3]; 108.51/78.76 3909[label="foldl' (*) (vuz103 :% vuz89) []",fontsize=16,color="black",shape="box"];3909 -> 3916[label="",style="solid", color="black", weight=3]; 108.51/78.76 3910[label="primQuotInt (primMulInt vuz40 vuz300) (reduce2D (primMulInt vuz40 vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6743[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];3910 -> 6743[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6743 -> 3917[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6744[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];3910 -> 6744[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6744 -> 3918[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 4544[label="reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4544 -> 4990[label="",style="solid", color="black", weight=3]; 108.51/78.76 4545[label="vuz33",fontsize=16,color="green",shape="box"];4543[label="primQuotInt (Neg vuz122) vuz123",fontsize=16,color="burlywood",shape="triangle"];6745[label="vuz123/Pos vuz1230",fontsize=10,color="white",style="solid",shape="box"];4543 -> 6745[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6745 -> 4991[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6746[label="vuz123/Neg vuz1230",fontsize=10,color="white",style="solid",shape="box"];4543 -> 6746[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6746 -> 4992[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 528[label="Succ (Succ (primPlusNat vuz3700 vuz301000))",fontsize=16,color="green",shape="box"];528 -> 540[label="",style="dashed", color="green", weight=3]; 108.51/78.76 529[label="Succ vuz3700",fontsize=16,color="green",shape="box"];530[label="Succ vuz301000",fontsize=16,color="green",shape="box"];531[label="Zero",fontsize=16,color="green",shape="box"];3912[label="primQuotInt (primMulInt (Pos vuz400) vuz300) (reduce2D (primMulInt (Pos vuz400) vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6747[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3912 -> 6747[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6747 -> 3920[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6748[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3912 -> 6748[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6748 -> 3921[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 3913[label="primQuotInt (primMulInt (Neg vuz400) vuz300) (reduce2D (primMulInt (Neg vuz400) vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6749[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3913 -> 6749[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6749 -> 3922[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6750[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3913 -> 6750[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6750 -> 3923[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6168[label="gcd (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6168 -> 6174[label="",style="solid", color="black", weight=3]; 108.51/78.76 6169[label="primQuotInt (Pos vuz27) (Pos vuz1660)",fontsize=16,color="burlywood",shape="box"];6751[label="vuz1660/Succ vuz16600",fontsize=10,color="white",style="solid",shape="box"];6169 -> 6751[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6751 -> 6175[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6752[label="vuz1660/Zero",fontsize=10,color="white",style="solid",shape="box"];6169 -> 6752[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6752 -> 6176[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6170[label="primQuotInt (Pos vuz27) (Neg vuz1660)",fontsize=16,color="burlywood",shape="box"];6753[label="vuz1660/Succ vuz16600",fontsize=10,color="white",style="solid",shape="box"];6170 -> 6753[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6753 -> 6177[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6754[label="vuz1660/Zero",fontsize=10,color="white",style="solid",shape="box"];6170 -> 6754[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6754 -> 6178[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 3915[label="(foldl' (*) $! (*) (vuz103 :% vuz89) vuz310)",fontsize=16,color="black",shape="box"];3915 -> 3925[label="",style="solid", color="black", weight=3]; 108.51/78.76 3916[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3917[label="primQuotInt (primMulInt (Pos vuz400) vuz300) (reduce2D (primMulInt (Pos vuz400) vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6755[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3917 -> 6755[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6755 -> 3926[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6756[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3917 -> 6756[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6756 -> 3927[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 3918[label="primQuotInt (primMulInt (Neg vuz400) vuz300) (reduce2D (primMulInt (Neg vuz400) vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6757[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 6757[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6757 -> 3928[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6758[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 6758[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6758 -> 3929[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 4990[label="gcd (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4990 -> 4996[label="",style="solid", color="black", weight=3]; 108.51/78.76 4991[label="primQuotInt (Neg vuz122) (Pos vuz1230)",fontsize=16,color="burlywood",shape="box"];6759[label="vuz1230/Succ vuz12300",fontsize=10,color="white",style="solid",shape="box"];4991 -> 6759[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6759 -> 4997[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6760[label="vuz1230/Zero",fontsize=10,color="white",style="solid",shape="box"];4991 -> 6760[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6760 -> 4998[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 4992[label="primQuotInt (Neg vuz122) (Neg vuz1230)",fontsize=16,color="burlywood",shape="box"];6761[label="vuz1230/Succ vuz12300",fontsize=10,color="white",style="solid",shape="box"];4992 -> 6761[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6761 -> 4999[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6762[label="vuz1230/Zero",fontsize=10,color="white",style="solid",shape="box"];4992 -> 6762[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6762 -> 5000[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 540 -> 513[label="",style="dashed", color="red", weight=0]; 108.51/78.76 540[label="primPlusNat vuz3700 vuz301000",fontsize=16,color="magenta"];540 -> 549[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 540 -> 550[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3920[label="primQuotInt (primMulInt (Pos vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Pos vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3920 -> 3931[label="",style="solid", color="black", weight=3]; 108.51/78.76 3921[label="primQuotInt (primMulInt (Pos vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Neg vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3921 -> 3932[label="",style="solid", color="black", weight=3]; 108.51/78.76 3922[label="primQuotInt (primMulInt (Neg vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Pos vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3922 -> 3933[label="",style="solid", color="black", weight=3]; 108.51/78.76 3923[label="primQuotInt (primMulInt (Neg vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Neg vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3923 -> 3934[label="",style="solid", color="black", weight=3]; 108.51/78.76 6174[label="gcd3 (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6174 -> 6186[label="",style="solid", color="black", weight=3]; 108.51/78.76 6175[label="primQuotInt (Pos vuz27) (Pos (Succ vuz16600))",fontsize=16,color="black",shape="box"];6175 -> 6187[label="",style="solid", color="black", weight=3]; 108.51/78.76 6176[label="primQuotInt (Pos vuz27) (Pos Zero)",fontsize=16,color="black",shape="box"];6176 -> 6188[label="",style="solid", color="black", weight=3]; 108.51/78.76 6177[label="primQuotInt (Pos vuz27) (Neg (Succ vuz16600))",fontsize=16,color="black",shape="box"];6177 -> 6189[label="",style="solid", color="black", weight=3]; 108.51/78.76 6178[label="primQuotInt (Pos vuz27) (Neg Zero)",fontsize=16,color="black",shape="box"];6178 -> 6190[label="",style="solid", color="black", weight=3]; 108.51/78.76 3925 -> 11[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3925[label="((*) (vuz103 :% vuz89) vuz310 `seq` foldl' (*) ((*) (vuz103 :% vuz89) vuz310))",fontsize=16,color="magenta"];3925 -> 3936[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3925 -> 3937[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3925 -> 3938[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3925 -> 3939[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3926[label="primQuotInt (primMulInt (Pos vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Pos vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3926 -> 3940[label="",style="solid", color="black", weight=3]; 108.51/78.76 3927[label="primQuotInt (primMulInt (Pos vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Neg vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3927 -> 3941[label="",style="solid", color="black", weight=3]; 108.51/78.76 3928[label="primQuotInt (primMulInt (Neg vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Pos vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3928 -> 3942[label="",style="solid", color="black", weight=3]; 108.51/78.76 3929[label="primQuotInt (primMulInt (Neg vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Neg vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3929 -> 3943[label="",style="solid", color="black", weight=3]; 108.51/78.76 4996[label="gcd3 (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4996 -> 5008[label="",style="solid", color="black", weight=3]; 108.51/78.76 4997[label="primQuotInt (Neg vuz122) (Pos (Succ vuz12300))",fontsize=16,color="black",shape="box"];4997 -> 5009[label="",style="solid", color="black", weight=3]; 108.51/78.76 4998[label="primQuotInt (Neg vuz122) (Pos Zero)",fontsize=16,color="black",shape="box"];4998 -> 5010[label="",style="solid", color="black", weight=3]; 108.51/78.76 4999[label="primQuotInt (Neg vuz122) (Neg (Succ vuz12300))",fontsize=16,color="black",shape="box"];4999 -> 5011[label="",style="solid", color="black", weight=3]; 108.51/78.76 5000[label="primQuotInt (Neg vuz122) (Neg Zero)",fontsize=16,color="black",shape="box"];5000 -> 5012[label="",style="solid", color="black", weight=3]; 108.51/78.76 549[label="vuz301000",fontsize=16,color="green",shape="box"];550[label="vuz3700",fontsize=16,color="green",shape="box"];3931 -> 5758[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3931[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3931 -> 5763[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3931 -> 5764[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3932 -> 4543[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3932[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3932 -> 4552[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3932 -> 4553[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3933 -> 4543[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3933[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3933 -> 4554[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3933 -> 4555[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3934 -> 5758[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3934[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3934 -> 5765[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3934 -> 5766[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6186[label="gcd2 (vuz40 * vuz300 == fromInt (Pos Zero)) (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6186 -> 6215[label="",style="solid", color="black", weight=3]; 108.51/78.76 6187[label="Pos (primDivNatS vuz27 (Succ vuz16600))",fontsize=16,color="green",shape="box"];6187 -> 6216[label="",style="dashed", color="green", weight=3]; 108.51/78.76 6188 -> 5010[label="",style="dashed", color="red", weight=0]; 108.51/78.76 6188[label="error []",fontsize=16,color="magenta"];6189[label="Neg (primDivNatS vuz27 (Succ vuz16600))",fontsize=16,color="green",shape="box"];6189 -> 6217[label="",style="dashed", color="green", weight=3]; 108.51/78.76 6190 -> 5010[label="",style="dashed", color="red", weight=0]; 108.51/78.76 6190[label="error []",fontsize=16,color="magenta"];3936[label="vuz311",fontsize=16,color="green",shape="box"];3937[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3938[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3939[label="vuz310",fontsize=16,color="green",shape="box"];3940 -> 5758[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3940[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3940 -> 5768[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3940 -> 5769[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3941 -> 4543[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3941[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3941 -> 4556[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3941 -> 4557[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3942 -> 4543[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3942[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3942 -> 4558[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3942 -> 4559[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3943 -> 5758[label="",style="dashed", color="red", weight=0]; 108.51/78.76 3943[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3943 -> 5770[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 3943 -> 5771[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5008[label="gcd2 (vuz40 * vuz300 == fromInt (Pos Zero)) (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];5008 -> 5033[label="",style="solid", color="black", weight=3]; 108.51/78.76 5009[label="Neg (primDivNatS vuz122 (Succ vuz12300))",fontsize=16,color="green",shape="box"];5009 -> 5034[label="",style="dashed", color="green", weight=3]; 108.51/78.76 5010[label="error []",fontsize=16,color="black",shape="triangle"];5010 -> 5035[label="",style="solid", color="black", weight=3]; 108.51/78.76 5011[label="Pos (primDivNatS vuz122 (Succ vuz12300))",fontsize=16,color="green",shape="box"];5011 -> 5036[label="",style="dashed", color="green", weight=3]; 108.51/78.76 5012 -> 5010[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5012[label="error []",fontsize=16,color="magenta"];5763 -> 6171[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5763[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];5763 -> 6172[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5764 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5764[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5764 -> 6179[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5764 -> 6180[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4552 -> 4993[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4552[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];4552 -> 4994[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4553 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4553[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4553 -> 5001[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4553 -> 5002[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4554 -> 4993[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4554[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];4554 -> 4995[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4555 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4555[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4555 -> 5003[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4555 -> 5004[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5765 -> 6171[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5765[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];5765 -> 6173[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5766 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5766[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5766 -> 6181[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5766 -> 6182[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6215[label="gcd2 (primEqInt (vuz40 * vuz300) (fromInt (Pos Zero))) (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6215 -> 6231[label="",style="solid", color="black", weight=3]; 108.51/78.76 6216 -> 5034[label="",style="dashed", color="red", weight=0]; 108.51/78.76 6216[label="primDivNatS vuz27 (Succ vuz16600)",fontsize=16,color="magenta"];6216 -> 6232[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6216 -> 6233[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6217 -> 5034[label="",style="dashed", color="red", weight=0]; 108.51/78.76 6217[label="primDivNatS vuz27 (Succ vuz16600)",fontsize=16,color="magenta"];6217 -> 6234[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6217 -> 6235[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5768 -> 6183[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5768[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5768 -> 6184[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5769 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5769[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5769 -> 6191[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5769 -> 6192[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4556 -> 5005[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4556[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];4556 -> 5006[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4557 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4557[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4557 -> 5013[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4557 -> 5014[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4558 -> 5005[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4558[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];4558 -> 5007[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4559 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4559[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4559 -> 5015[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4559 -> 5016[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5770 -> 6183[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5770[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5770 -> 6185[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5771 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5771[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5771 -> 6193[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5771 -> 6194[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5033[label="gcd2 (primEqInt (vuz40 * vuz300) (fromInt (Pos Zero))) (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];5033 -> 5047[label="",style="solid", color="black", weight=3]; 108.51/78.76 5034[label="primDivNatS vuz122 (Succ vuz12300)",fontsize=16,color="burlywood",shape="triangle"];6763[label="vuz122/Succ vuz1220",fontsize=10,color="white",style="solid",shape="box"];5034 -> 6763[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6763 -> 5048[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6764[label="vuz122/Zero",fontsize=10,color="white",style="solid",shape="box"];5034 -> 6764[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6764 -> 5049[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 5035[label="error []",fontsize=16,color="red",shape="box"];5036 -> 5034[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5036[label="primDivNatS vuz122 (Succ vuz12300)",fontsize=16,color="magenta"];5036 -> 5050[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6172 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 6172[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6172 -> 6195[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6172 -> 6196[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6171[label="reduce2D (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];6171 -> 6197[label="",style="solid", color="black", weight=3]; 108.51/78.76 6179[label="vuz400",fontsize=16,color="green",shape="box"];6180[label="vuz3000",fontsize=16,color="green",shape="box"];4994 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4994[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4994 -> 5017[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4994 -> 5018[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4993[label="reduce2D (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];4993 -> 5019[label="",style="solid", color="black", weight=3]; 108.51/78.76 5001[label="vuz400",fontsize=16,color="green",shape="box"];5002[label="vuz3000",fontsize=16,color="green",shape="box"];4995 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 4995[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4995 -> 5020[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 4995 -> 5021[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5003[label="vuz400",fontsize=16,color="green",shape="box"];5004[label="vuz3000",fontsize=16,color="green",shape="box"];6173 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 6173[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6173 -> 6198[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6173 -> 6199[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6181[label="vuz400",fontsize=16,color="green",shape="box"];6182[label="vuz3000",fontsize=16,color="green",shape="box"];6231[label="gcd2 (primEqInt (primMulInt vuz40 vuz300) (fromInt (Pos Zero))) (primMulInt vuz40 vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6765[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];6231 -> 6765[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6765 -> 6247[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6766[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];6231 -> 6766[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6766 -> 6248[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6232[label="vuz16600",fontsize=16,color="green",shape="box"];6233[label="vuz27",fontsize=16,color="green",shape="box"];6234[label="vuz16600",fontsize=16,color="green",shape="box"];6235[label="vuz27",fontsize=16,color="green",shape="box"];6184 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 6184[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6184 -> 6200[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6184 -> 6201[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6183[label="reduce2D (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];6183 -> 6202[label="",style="solid", color="black", weight=3]; 108.51/78.76 6191[label="vuz400",fontsize=16,color="green",shape="box"];6192[label="vuz3000",fontsize=16,color="green",shape="box"];5006 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5006[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5006 -> 5022[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5006 -> 5023[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5005[label="reduce2D (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];5005 -> 5024[label="",style="solid", color="black", weight=3]; 108.51/78.76 5013[label="vuz400",fontsize=16,color="green",shape="box"];5014[label="vuz3000",fontsize=16,color="green",shape="box"];5007 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 5007[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5007 -> 5025[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5007 -> 5026[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 5015[label="vuz400",fontsize=16,color="green",shape="box"];5016[label="vuz3000",fontsize=16,color="green",shape="box"];6185 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.76 6185[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6185 -> 6203[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6185 -> 6204[label="",style="dashed", color="magenta", weight=3]; 108.51/78.76 6193[label="vuz400",fontsize=16,color="green",shape="box"];6194[label="vuz3000",fontsize=16,color="green",shape="box"];5047[label="gcd2 (primEqInt (primMulInt vuz40 vuz300) (fromInt (Pos Zero))) (primMulInt vuz40 vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6767[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];5047 -> 6767[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6767 -> 5059[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6768[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];5047 -> 6768[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6768 -> 5060[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 5048[label="primDivNatS (Succ vuz1220) (Succ vuz12300)",fontsize=16,color="black",shape="box"];5048 -> 5061[label="",style="solid", color="black", weight=3]; 108.51/78.76 5049[label="primDivNatS Zero (Succ vuz12300)",fontsize=16,color="black",shape="box"];5049 -> 5062[label="",style="solid", color="black", weight=3]; 108.51/78.76 5050[label="vuz12300",fontsize=16,color="green",shape="box"];6195[label="vuz400",fontsize=16,color="green",shape="box"];6196[label="vuz3000",fontsize=16,color="green",shape="box"];6197[label="gcd (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6197 -> 6218[label="",style="solid", color="black", weight=3]; 108.51/78.76 5017[label="vuz400",fontsize=16,color="green",shape="box"];5018[label="vuz3000",fontsize=16,color="green",shape="box"];5019[label="gcd (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5019 -> 5037[label="",style="solid", color="black", weight=3]; 108.51/78.76 5020[label="vuz400",fontsize=16,color="green",shape="box"];5021[label="vuz3000",fontsize=16,color="green",shape="box"];6198[label="vuz400",fontsize=16,color="green",shape="box"];6199[label="vuz3000",fontsize=16,color="green",shape="box"];6247[label="gcd2 (primEqInt (primMulInt (Pos vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6769[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];6247 -> 6769[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6769 -> 6258[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6770[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];6247 -> 6770[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6770 -> 6259[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6248[label="gcd2 (primEqInt (primMulInt (Neg vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6771[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];6248 -> 6771[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6771 -> 6260[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6772[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];6248 -> 6772[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6772 -> 6261[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6200[label="vuz400",fontsize=16,color="green",shape="box"];6201[label="vuz3000",fontsize=16,color="green",shape="box"];6202[label="gcd (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6202 -> 6219[label="",style="solid", color="black", weight=3]; 108.51/78.76 5022[label="vuz400",fontsize=16,color="green",shape="box"];5023[label="vuz3000",fontsize=16,color="green",shape="box"];5024[label="gcd (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5024 -> 5038[label="",style="solid", color="black", weight=3]; 108.51/78.76 5025[label="vuz400",fontsize=16,color="green",shape="box"];5026[label="vuz3000",fontsize=16,color="green",shape="box"];6203[label="vuz400",fontsize=16,color="green",shape="box"];6204[label="vuz3000",fontsize=16,color="green",shape="box"];5059[label="gcd2 (primEqInt (primMulInt (Pos vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6773[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];5059 -> 6773[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6773 -> 5071[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6774[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];5059 -> 6774[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6774 -> 5072[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 5060[label="gcd2 (primEqInt (primMulInt (Neg vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6775[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];5060 -> 6775[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6775 -> 5073[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6776[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];5060 -> 6776[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6776 -> 5074[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 5061[label="primDivNatS0 vuz1220 vuz12300 (primGEqNatS vuz1220 vuz12300)",fontsize=16,color="burlywood",shape="box"];6777[label="vuz1220/Succ vuz12200",fontsize=10,color="white",style="solid",shape="box"];5061 -> 6777[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6777 -> 5075[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 6778[label="vuz1220/Zero",fontsize=10,color="white",style="solid",shape="box"];5061 -> 6778[label="",style="solid", color="burlywood", weight=9]; 108.51/78.76 6778 -> 5076[label="",style="solid", color="burlywood", weight=3]; 108.51/78.76 5062[label="Zero",fontsize=16,color="green",shape="box"];6218[label="gcd3 (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6218 -> 6236[label="",style="solid", color="black", weight=3]; 108.51/78.76 5037[label="gcd3 (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5037 -> 5051[label="",style="solid", color="black", weight=3]; 108.51/78.76 6258[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Pos vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6258 -> 6274[label="",style="solid", color="black", weight=3]; 108.51/78.76 6259[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Neg vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6259 -> 6275[label="",style="solid", color="black", weight=3]; 108.51/78.76 6260[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Pos vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6260 -> 6276[label="",style="solid", color="black", weight=3]; 108.51/78.76 6261[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Neg vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6261 -> 6277[label="",style="solid", color="black", weight=3]; 108.51/78.76 6219[label="gcd3 (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6219 -> 6237[label="",style="solid", color="black", weight=3]; 108.51/78.76 5038[label="gcd3 (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5038 -> 5052[label="",style="solid", color="black", weight=3]; 108.51/78.76 5071[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Pos vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5071 -> 5088[label="",style="solid", color="black", weight=3]; 108.51/78.76 5072[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Neg vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5072 -> 5089[label="",style="solid", color="black", weight=3]; 108.51/78.77 5073[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Pos vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5073 -> 5090[label="",style="solid", color="black", weight=3]; 108.51/78.77 5074[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Neg vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5074 -> 5091[label="",style="solid", color="black", weight=3]; 108.51/78.77 5075[label="primDivNatS0 (Succ vuz12200) vuz12300 (primGEqNatS (Succ vuz12200) vuz12300)",fontsize=16,color="burlywood",shape="box"];6779[label="vuz12300/Succ vuz123000",fontsize=10,color="white",style="solid",shape="box"];5075 -> 6779[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6779 -> 5092[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6780[label="vuz12300/Zero",fontsize=10,color="white",style="solid",shape="box"];5075 -> 6780[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6780 -> 5093[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5076[label="primDivNatS0 Zero vuz12300 (primGEqNatS Zero vuz12300)",fontsize=16,color="burlywood",shape="box"];6781[label="vuz12300/Succ vuz123000",fontsize=10,color="white",style="solid",shape="box"];5076 -> 6781[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6781 -> 5094[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6782[label="vuz12300/Zero",fontsize=10,color="white",style="solid",shape="box"];5076 -> 6782[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6782 -> 5095[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6236[label="gcd2 (Pos vuz167 == fromInt (Pos Zero)) (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6236 -> 6249[label="",style="solid", color="black", weight=3]; 108.51/78.77 5051[label="gcd2 (Neg vuz124 == fromInt (Pos Zero)) (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5051 -> 5063[label="",style="solid", color="black", weight=3]; 108.51/78.77 6274 -> 6249[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6274[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6274 -> 6289[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6275 -> 5063[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6275[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6275 -> 6290[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6276 -> 5063[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6276[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6276 -> 6291[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6277 -> 6249[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6277[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6277 -> 6292[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6237[label="gcd2 (Pos vuz168 == fromInt (Pos Zero)) (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6237 -> 6250[label="",style="solid", color="black", weight=3]; 108.51/78.77 5052[label="gcd2 (Neg vuz125 == fromInt (Pos Zero)) (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5052 -> 5064[label="",style="solid", color="black", weight=3]; 108.51/78.77 5088 -> 5105[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5088[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5088 -> 5106[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5088 -> 5107[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5089 -> 5064[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5089[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5089 -> 5110[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5090 -> 5064[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5090[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5090 -> 5111[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5091 -> 5105[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5091[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5091 -> 5108[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5091 -> 5109[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5092[label="primDivNatS0 (Succ vuz12200) (Succ vuz123000) (primGEqNatS (Succ vuz12200) (Succ vuz123000))",fontsize=16,color="black",shape="box"];5092 -> 5112[label="",style="solid", color="black", weight=3]; 108.51/78.77 5093[label="primDivNatS0 (Succ vuz12200) Zero (primGEqNatS (Succ vuz12200) Zero)",fontsize=16,color="black",shape="box"];5093 -> 5113[label="",style="solid", color="black", weight=3]; 108.51/78.77 5094[label="primDivNatS0 Zero (Succ vuz123000) (primGEqNatS Zero (Succ vuz123000))",fontsize=16,color="black",shape="box"];5094 -> 5114[label="",style="solid", color="black", weight=3]; 108.51/78.77 5095[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];5095 -> 5115[label="",style="solid", color="black", weight=3]; 108.51/78.77 6249[label="gcd2 (primEqInt (Pos vuz167) (fromInt (Pos Zero))) (Pos vuz167) (Pos vuz28)",fontsize=16,color="burlywood",shape="triangle"];6783[label="vuz167/Succ vuz1670",fontsize=10,color="white",style="solid",shape="box"];6249 -> 6783[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6783 -> 6262[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6784[label="vuz167/Zero",fontsize=10,color="white",style="solid",shape="box"];6249 -> 6784[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6784 -> 6263[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5063[label="gcd2 (primEqInt (Neg vuz124) (fromInt (Pos Zero))) (Neg vuz124) (Pos vuz28)",fontsize=16,color="burlywood",shape="triangle"];6785[label="vuz124/Succ vuz1240",fontsize=10,color="white",style="solid",shape="box"];5063 -> 6785[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6785 -> 5077[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6786[label="vuz124/Zero",fontsize=10,color="white",style="solid",shape="box"];5063 -> 6786[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6786 -> 5078[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6289 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6289[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6289 -> 6305[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6289 -> 6306[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6290 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6290[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6290 -> 6307[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6290 -> 6308[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6291 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6291[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6291 -> 6309[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6291 -> 6310[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6292 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6292[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6292 -> 6311[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6292 -> 6312[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6250 -> 5105[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6250[label="gcd2 (primEqInt (Pos vuz168) (fromInt (Pos Zero))) (Pos vuz168) (Neg vuz34)",fontsize=16,color="magenta"];6250 -> 6264[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6250 -> 6265[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5064[label="gcd2 (primEqInt (Neg vuz125) (fromInt (Pos Zero))) (Neg vuz125) (Neg vuz34)",fontsize=16,color="burlywood",shape="triangle"];6787[label="vuz125/Succ vuz1250",fontsize=10,color="white",style="solid",shape="box"];5064 -> 6787[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6787 -> 5079[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6788[label="vuz125/Zero",fontsize=10,color="white",style="solid",shape="box"];5064 -> 6788[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6788 -> 5080[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5106 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5106[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5106 -> 5116[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5106 -> 5117[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5107 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5107[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5107 -> 5118[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5107 -> 5119[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5105[label="gcd2 (primEqInt (Pos vuz127) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="burlywood",shape="triangle"];6789[label="vuz127/Succ vuz1270",fontsize=10,color="white",style="solid",shape="box"];5105 -> 6789[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6789 -> 5120[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6790[label="vuz127/Zero",fontsize=10,color="white",style="solid",shape="box"];5105 -> 6790[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6790 -> 5121[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5110 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5110[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5110 -> 5134[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5110 -> 5135[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5111 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5111[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5111 -> 5136[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5111 -> 5137[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5108 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5108[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5108 -> 5122[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5108 -> 5123[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5109 -> 305[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5109[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5109 -> 5124[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5109 -> 5125[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5112 -> 5709[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5112[label="primDivNatS0 (Succ vuz12200) (Succ vuz123000) (primGEqNatS vuz12200 vuz123000)",fontsize=16,color="magenta"];5112 -> 5710[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5112 -> 5711[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5112 -> 5712[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5112 -> 5713[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5113[label="primDivNatS0 (Succ vuz12200) Zero True",fontsize=16,color="black",shape="box"];5113 -> 5140[label="",style="solid", color="black", weight=3]; 108.51/78.77 5114[label="primDivNatS0 Zero (Succ vuz123000) False",fontsize=16,color="black",shape="box"];5114 -> 5141[label="",style="solid", color="black", weight=3]; 108.51/78.77 5115[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];5115 -> 5142[label="",style="solid", color="black", weight=3]; 108.51/78.77 6262[label="gcd2 (primEqInt (Pos (Succ vuz1670)) (fromInt (Pos Zero))) (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6262 -> 6278[label="",style="solid", color="black", weight=3]; 108.51/78.77 6263[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6263 -> 6279[label="",style="solid", color="black", weight=3]; 108.51/78.77 5077[label="gcd2 (primEqInt (Neg (Succ vuz1240)) (fromInt (Pos Zero))) (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5077 -> 5096[label="",style="solid", color="black", weight=3]; 108.51/78.77 5078[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5078 -> 5097[label="",style="solid", color="black", weight=3]; 108.51/78.77 6305[label="vuz400",fontsize=16,color="green",shape="box"];6306[label="vuz3000",fontsize=16,color="green",shape="box"];6307[label="vuz400",fontsize=16,color="green",shape="box"];6308[label="vuz3000",fontsize=16,color="green",shape="box"];6309[label="vuz400",fontsize=16,color="green",shape="box"];6310[label="vuz3000",fontsize=16,color="green",shape="box"];6311[label="vuz400",fontsize=16,color="green",shape="box"];6312[label="vuz3000",fontsize=16,color="green",shape="box"];6264[label="vuz168",fontsize=16,color="green",shape="box"];6265[label="vuz168",fontsize=16,color="green",shape="box"];5079[label="gcd2 (primEqInt (Neg (Succ vuz1250)) (fromInt (Pos Zero))) (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5079 -> 5098[label="",style="solid", color="black", weight=3]; 108.51/78.77 5080[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5080 -> 5099[label="",style="solid", color="black", weight=3]; 108.51/78.77 5116[label="vuz400",fontsize=16,color="green",shape="box"];5117[label="vuz3000",fontsize=16,color="green",shape="box"];5118[label="vuz400",fontsize=16,color="green",shape="box"];5119[label="vuz3000",fontsize=16,color="green",shape="box"];5120[label="gcd2 (primEqInt (Pos (Succ vuz1270)) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5120 -> 5143[label="",style="solid", color="black", weight=3]; 108.51/78.77 5121[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5121 -> 5144[label="",style="solid", color="black", weight=3]; 108.51/78.77 5134[label="vuz400",fontsize=16,color="green",shape="box"];5135[label="vuz3000",fontsize=16,color="green",shape="box"];5136[label="vuz400",fontsize=16,color="green",shape="box"];5137[label="vuz3000",fontsize=16,color="green",shape="box"];5122[label="vuz400",fontsize=16,color="green",shape="box"];5123[label="vuz3000",fontsize=16,color="green",shape="box"];5124[label="vuz400",fontsize=16,color="green",shape="box"];5125[label="vuz3000",fontsize=16,color="green",shape="box"];5710[label="vuz12200",fontsize=16,color="green",shape="box"];5711[label="vuz12200",fontsize=16,color="green",shape="box"];5712[label="vuz123000",fontsize=16,color="green",shape="box"];5713[label="vuz123000",fontsize=16,color="green",shape="box"];5709[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS vuz164 vuz165)",fontsize=16,color="burlywood",shape="triangle"];6791[label="vuz164/Succ vuz1640",fontsize=10,color="white",style="solid",shape="box"];5709 -> 6791[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6791 -> 5750[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6792[label="vuz164/Zero",fontsize=10,color="white",style="solid",shape="box"];5709 -> 6792[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6792 -> 5751[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5140[label="Succ (primDivNatS (primMinusNatS (Succ vuz12200) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5140 -> 5157[label="",style="dashed", color="green", weight=3]; 108.51/78.77 5141[label="Zero",fontsize=16,color="green",shape="box"];5142[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5142 -> 5158[label="",style="dashed", color="green", weight=3]; 108.51/78.77 6278[label="gcd2 (primEqInt (Pos (Succ vuz1670)) (Pos Zero)) (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6278 -> 6293[label="",style="solid", color="black", weight=3]; 108.51/78.77 6279[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6279 -> 6294[label="",style="solid", color="black", weight=3]; 108.51/78.77 5096[label="gcd2 (primEqInt (Neg (Succ vuz1240)) (Pos Zero)) (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5096 -> 5126[label="",style="solid", color="black", weight=3]; 108.51/78.77 5097[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5097 -> 5127[label="",style="solid", color="black", weight=3]; 108.51/78.77 5098[label="gcd2 (primEqInt (Neg (Succ vuz1250)) (Pos Zero)) (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5098 -> 5128[label="",style="solid", color="black", weight=3]; 108.51/78.77 5099[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5099 -> 5129[label="",style="solid", color="black", weight=3]; 108.51/78.77 5143[label="gcd2 (primEqInt (Pos (Succ vuz1270)) (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5143 -> 5159[label="",style="solid", color="black", weight=3]; 108.51/78.77 5144[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5144 -> 5160[label="",style="solid", color="black", weight=3]; 108.51/78.77 5750[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) vuz165)",fontsize=16,color="burlywood",shape="box"];6793[label="vuz165/Succ vuz1650",fontsize=10,color="white",style="solid",shape="box"];5750 -> 6793[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6793 -> 6205[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6794[label="vuz165/Zero",fontsize=10,color="white",style="solid",shape="box"];5750 -> 6794[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6794 -> 6206[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5751[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero vuz165)",fontsize=16,color="burlywood",shape="box"];6795[label="vuz165/Succ vuz1650",fontsize=10,color="white",style="solid",shape="box"];5751 -> 6795[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6795 -> 6207[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6796[label="vuz165/Zero",fontsize=10,color="white",style="solid",shape="box"];5751 -> 6796[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6796 -> 6208[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5157 -> 5034[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5157[label="primDivNatS (primMinusNatS (Succ vuz12200) Zero) (Succ Zero)",fontsize=16,color="magenta"];5157 -> 5173[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5157 -> 5174[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5158 -> 5034[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5158[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];5158 -> 5175[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5158 -> 5176[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6293[label="gcd2 False (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6293 -> 6313[label="",style="solid", color="black", weight=3]; 108.51/78.77 6294[label="gcd2 True (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6294 -> 6314[label="",style="solid", color="black", weight=3]; 108.51/78.77 5126[label="gcd2 False (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5126 -> 5145[label="",style="solid", color="black", weight=3]; 108.51/78.77 5127[label="gcd2 True (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5127 -> 5146[label="",style="solid", color="black", weight=3]; 108.51/78.77 5128[label="gcd2 False (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5128 -> 5147[label="",style="solid", color="black", weight=3]; 108.51/78.77 5129[label="gcd2 True (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5129 -> 5148[label="",style="solid", color="black", weight=3]; 108.51/78.77 5159[label="gcd2 False (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5159 -> 5177[label="",style="solid", color="black", weight=3]; 108.51/78.77 5160[label="gcd2 True (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5160 -> 5178[label="",style="solid", color="black", weight=3]; 108.51/78.77 6205[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) (Succ vuz1650))",fontsize=16,color="black",shape="box"];6205 -> 6220[label="",style="solid", color="black", weight=3]; 108.51/78.77 6206[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) Zero)",fontsize=16,color="black",shape="box"];6206 -> 6221[label="",style="solid", color="black", weight=3]; 108.51/78.77 6207[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero (Succ vuz1650))",fontsize=16,color="black",shape="box"];6207 -> 6222[label="",style="solid", color="black", weight=3]; 108.51/78.77 6208[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6208 -> 6223[label="",style="solid", color="black", weight=3]; 108.51/78.77 5173[label="Zero",fontsize=16,color="green",shape="box"];5174[label="primMinusNatS (Succ vuz12200) Zero",fontsize=16,color="black",shape="triangle"];5174 -> 5194[label="",style="solid", color="black", weight=3]; 108.51/78.77 5175[label="Zero",fontsize=16,color="green",shape="box"];5176[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];5176 -> 5195[label="",style="solid", color="black", weight=3]; 108.51/78.77 6313[label="gcd0 (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6313 -> 6329[label="",style="solid", color="black", weight=3]; 108.51/78.77 6314[label="gcd1 (Pos vuz28 == fromInt (Pos Zero)) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6314 -> 6330[label="",style="solid", color="black", weight=3]; 108.51/78.77 5145[label="gcd0 (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5145 -> 5161[label="",style="solid", color="black", weight=3]; 108.51/78.77 5146[label="gcd1 (Pos vuz28 == fromInt (Pos Zero)) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5146 -> 5162[label="",style="solid", color="black", weight=3]; 108.51/78.77 5147[label="gcd0 (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5147 -> 5163[label="",style="solid", color="black", weight=3]; 108.51/78.77 5148[label="gcd1 (Neg vuz34 == fromInt (Pos Zero)) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5148 -> 5164[label="",style="solid", color="black", weight=3]; 108.51/78.77 5177[label="gcd0 (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];5177 -> 5196[label="",style="solid", color="black", weight=3]; 108.51/78.77 5178[label="gcd1 (Neg vuz34 == fromInt (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5178 -> 5197[label="",style="solid", color="black", weight=3]; 108.51/78.77 6220 -> 5709[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6220[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS vuz1640 vuz1650)",fontsize=16,color="magenta"];6220 -> 6238[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6220 -> 6239[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6221[label="primDivNatS0 (Succ vuz162) (Succ vuz163) True",fontsize=16,color="black",shape="triangle"];6221 -> 6240[label="",style="solid", color="black", weight=3]; 108.51/78.77 6222[label="primDivNatS0 (Succ vuz162) (Succ vuz163) False",fontsize=16,color="black",shape="box"];6222 -> 6241[label="",style="solid", color="black", weight=3]; 108.51/78.77 6223 -> 6221[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6223[label="primDivNatS0 (Succ vuz162) (Succ vuz163) True",fontsize=16,color="magenta"];5194[label="Succ vuz12200",fontsize=16,color="green",shape="box"];5195[label="Zero",fontsize=16,color="green",shape="box"];6329 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6329[label="gcd0Gcd' (abs (Pos (Succ vuz1670))) (abs (Pos vuz28))",fontsize=16,color="magenta"];6329 -> 6349[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6329 -> 6350[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6330[label="gcd1 (primEqInt (Pos vuz28) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6797[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];6330 -> 6797[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6797 -> 6363[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6798[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];6330 -> 6798[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6798 -> 6364[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5161 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5161[label="gcd0Gcd' (abs (Neg (Succ vuz1240))) (abs (Pos vuz28))",fontsize=16,color="magenta"];5161 -> 6351[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5161 -> 6352[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5162[label="gcd1 (primEqInt (Pos vuz28) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6799[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];5162 -> 6799[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6799 -> 5180[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6800[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];5162 -> 6800[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6800 -> 5181[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5163 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5163[label="gcd0Gcd' (abs (Neg (Succ vuz1250))) (abs (Neg vuz34))",fontsize=16,color="magenta"];5163 -> 6353[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5163 -> 6354[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5164[label="gcd1 (primEqInt (Neg vuz34) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6801[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];5164 -> 6801[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6801 -> 5183[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6802[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];5164 -> 6802[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6802 -> 5184[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 5196 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5196[label="gcd0Gcd' (abs (Pos vuz126)) (abs (Neg vuz34))",fontsize=16,color="magenta"];5196 -> 6355[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5196 -> 6356[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5197[label="gcd1 (primEqInt (Neg vuz34) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6803[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];5197 -> 6803[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6803 -> 5216[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6804[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];5197 -> 6804[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6804 -> 5217[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6238[label="vuz1640",fontsize=16,color="green",shape="box"];6239[label="vuz1650",fontsize=16,color="green",shape="box"];6240[label="Succ (primDivNatS (primMinusNatS (Succ vuz162) (Succ vuz163)) (Succ (Succ vuz163)))",fontsize=16,color="green",shape="box"];6240 -> 6251[label="",style="dashed", color="green", weight=3]; 108.51/78.77 6241[label="Zero",fontsize=16,color="green",shape="box"];6349[label="abs (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6349 -> 6365[label="",style="solid", color="black", weight=3]; 108.51/78.77 6350[label="abs (Pos vuz28)",fontsize=16,color="black",shape="triangle"];6350 -> 6366[label="",style="solid", color="black", weight=3]; 108.51/78.77 6348[label="gcd0Gcd' vuz170 vuz169",fontsize=16,color="black",shape="triangle"];6348 -> 6367[label="",style="solid", color="black", weight=3]; 108.51/78.77 6363[label="gcd1 (primEqInt (Pos (Succ vuz280)) (fromInt (Pos Zero))) (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6363 -> 6378[label="",style="solid", color="black", weight=3]; 108.51/78.77 6364[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6364 -> 6379[label="",style="solid", color="black", weight=3]; 108.51/78.77 6351[label="abs (Neg (Succ vuz1240))",fontsize=16,color="black",shape="triangle"];6351 -> 6368[label="",style="solid", color="black", weight=3]; 108.51/78.77 6352 -> 6350[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6352[label="abs (Pos vuz28)",fontsize=16,color="magenta"];5180[label="gcd1 (primEqInt (Pos (Succ vuz280)) (fromInt (Pos Zero))) (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5180 -> 5199[label="",style="solid", color="black", weight=3]; 108.51/78.77 5181[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5181 -> 5200[label="",style="solid", color="black", weight=3]; 108.51/78.77 6353 -> 6351[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6353[label="abs (Neg (Succ vuz1250))",fontsize=16,color="magenta"];6353 -> 6369[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6354[label="abs (Neg vuz34)",fontsize=16,color="black",shape="triangle"];6354 -> 6370[label="",style="solid", color="black", weight=3]; 108.51/78.77 5183[label="gcd1 (primEqInt (Neg (Succ vuz340)) (fromInt (Pos Zero))) (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5183 -> 5202[label="",style="solid", color="black", weight=3]; 108.51/78.77 5184[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5184 -> 5203[label="",style="solid", color="black", weight=3]; 108.51/78.77 6355 -> 6350[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6355[label="abs (Pos vuz126)",fontsize=16,color="magenta"];6355 -> 6371[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6356 -> 6354[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6356[label="abs (Neg vuz34)",fontsize=16,color="magenta"];5216[label="gcd1 (primEqInt (Neg (Succ vuz340)) (fromInt (Pos Zero))) (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5216 -> 5240[label="",style="solid", color="black", weight=3]; 108.51/78.77 5217[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5217 -> 5241[label="",style="solid", color="black", weight=3]; 108.51/78.77 6251 -> 5034[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6251[label="primDivNatS (primMinusNatS (Succ vuz162) (Succ vuz163)) (Succ (Succ vuz163))",fontsize=16,color="magenta"];6251 -> 6266[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6251 -> 6267[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6365[label="absReal (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6365 -> 6380[label="",style="solid", color="black", weight=3]; 108.51/78.77 6366[label="absReal (Pos vuz28)",fontsize=16,color="black",shape="box"];6366 -> 6381[label="",style="solid", color="black", weight=3]; 108.51/78.77 6367[label="gcd0Gcd'2 vuz170 vuz169",fontsize=16,color="black",shape="box"];6367 -> 6382[label="",style="solid", color="black", weight=3]; 108.51/78.77 6378[label="gcd1 (primEqInt (Pos (Succ vuz280)) (Pos Zero)) (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6378 -> 6385[label="",style="solid", color="black", weight=3]; 108.51/78.77 6379[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6379 -> 6386[label="",style="solid", color="black", weight=3]; 108.51/78.77 6368[label="absReal (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6368 -> 6383[label="",style="solid", color="black", weight=3]; 108.51/78.77 5199[label="gcd1 (primEqInt (Pos (Succ vuz280)) (Pos Zero)) (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5199 -> 5219[label="",style="solid", color="black", weight=3]; 108.51/78.77 5200[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5200 -> 5220[label="",style="solid", color="black", weight=3]; 108.51/78.77 6369[label="vuz1250",fontsize=16,color="green",shape="box"];6370[label="absReal (Neg vuz34)",fontsize=16,color="black",shape="box"];6370 -> 6384[label="",style="solid", color="black", weight=3]; 108.51/78.77 5202[label="gcd1 (primEqInt (Neg (Succ vuz340)) (Pos Zero)) (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5202 -> 5222[label="",style="solid", color="black", weight=3]; 108.51/78.77 5203[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5203 -> 5223[label="",style="solid", color="black", weight=3]; 108.51/78.77 6371[label="vuz126",fontsize=16,color="green",shape="box"];5240[label="gcd1 (primEqInt (Neg (Succ vuz340)) (Pos Zero)) (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5240 -> 5262[label="",style="solid", color="black", weight=3]; 108.51/78.77 5241[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5241 -> 5263[label="",style="solid", color="black", weight=3]; 108.51/78.77 6266[label="Succ vuz163",fontsize=16,color="green",shape="box"];6267[label="primMinusNatS (Succ vuz162) (Succ vuz163)",fontsize=16,color="black",shape="box"];6267 -> 6280[label="",style="solid", color="black", weight=3]; 108.51/78.77 6380[label="absReal2 (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6380 -> 6387[label="",style="solid", color="black", weight=3]; 108.51/78.77 6381[label="absReal2 (Pos vuz28)",fontsize=16,color="black",shape="box"];6381 -> 6388[label="",style="solid", color="black", weight=3]; 108.51/78.77 6382[label="gcd0Gcd'1 (vuz169 == fromInt (Pos Zero)) vuz170 vuz169",fontsize=16,color="black",shape="box"];6382 -> 6389[label="",style="solid", color="black", weight=3]; 108.51/78.77 6385[label="gcd1 False (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6385 -> 6392[label="",style="solid", color="black", weight=3]; 108.51/78.77 6386[label="gcd1 True (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6386 -> 6393[label="",style="solid", color="black", weight=3]; 108.51/78.77 6383[label="absReal2 (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6383 -> 6390[label="",style="solid", color="black", weight=3]; 108.51/78.77 5219[label="gcd1 False (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5219 -> 5243[label="",style="solid", color="black", weight=3]; 108.51/78.77 5220[label="gcd1 True (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5220 -> 5244[label="",style="solid", color="black", weight=3]; 108.51/78.77 6384[label="absReal2 (Neg vuz34)",fontsize=16,color="black",shape="box"];6384 -> 6391[label="",style="solid", color="black", weight=3]; 108.51/78.77 5222[label="gcd1 False (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5222 -> 5246[label="",style="solid", color="black", weight=3]; 108.51/78.77 5223[label="gcd1 True (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5223 -> 5247[label="",style="solid", color="black", weight=3]; 108.51/78.77 5262[label="gcd1 False (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5262 -> 5281[label="",style="solid", color="black", weight=3]; 108.51/78.77 5263[label="gcd1 True (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5263 -> 5282[label="",style="solid", color="black", weight=3]; 108.51/78.77 6280[label="primMinusNatS vuz162 vuz163",fontsize=16,color="burlywood",shape="triangle"];6805[label="vuz162/Succ vuz1620",fontsize=10,color="white",style="solid",shape="box"];6280 -> 6805[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6805 -> 6295[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6806[label="vuz162/Zero",fontsize=10,color="white",style="solid",shape="box"];6280 -> 6806[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6806 -> 6296[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6387[label="absReal1 (Pos (Succ vuz1670)) (Pos (Succ vuz1670) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6387 -> 6394[label="",style="solid", color="black", weight=3]; 108.51/78.77 6388[label="absReal1 (Pos vuz28) (Pos vuz28 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6388 -> 6395[label="",style="solid", color="black", weight=3]; 108.51/78.77 6389[label="gcd0Gcd'1 (primEqInt vuz169 (fromInt (Pos Zero))) vuz170 vuz169",fontsize=16,color="burlywood",shape="box"];6807[label="vuz169/Pos vuz1690",fontsize=10,color="white",style="solid",shape="box"];6389 -> 6807[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6807 -> 6396[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6808[label="vuz169/Neg vuz1690",fontsize=10,color="white",style="solid",shape="box"];6389 -> 6808[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6808 -> 6397[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6392[label="gcd0 (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6392 -> 6400[label="",style="solid", color="black", weight=3]; 108.51/78.77 6393 -> 5010[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6393[label="error []",fontsize=16,color="magenta"];6390[label="absReal1 (Neg (Succ vuz1240)) (Neg (Succ vuz1240) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6390 -> 6398[label="",style="solid", color="black", weight=3]; 108.51/78.77 5243[label="gcd0 (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5243 -> 5265[label="",style="solid", color="black", weight=3]; 108.51/78.77 5244 -> 5010[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5244[label="error []",fontsize=16,color="magenta"];6391[label="absReal1 (Neg vuz34) (Neg vuz34 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6391 -> 6399[label="",style="solid", color="black", weight=3]; 108.51/78.77 5246[label="gcd0 (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5246 -> 5267[label="",style="solid", color="black", weight=3]; 108.51/78.77 5247 -> 5010[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5247[label="error []",fontsize=16,color="magenta"];5281 -> 5177[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5281[label="gcd0 (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="magenta"];5281 -> 5305[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5282 -> 5010[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5282[label="error []",fontsize=16,color="magenta"];6295[label="primMinusNatS (Succ vuz1620) vuz163",fontsize=16,color="burlywood",shape="box"];6809[label="vuz163/Succ vuz1630",fontsize=10,color="white",style="solid",shape="box"];6295 -> 6809[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6809 -> 6315[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6810[label="vuz163/Zero",fontsize=10,color="white",style="solid",shape="box"];6295 -> 6810[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6810 -> 6316[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6296[label="primMinusNatS Zero vuz163",fontsize=16,color="burlywood",shape="box"];6811[label="vuz163/Succ vuz1630",fontsize=10,color="white",style="solid",shape="box"];6296 -> 6811[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6811 -> 6317[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6812[label="vuz163/Zero",fontsize=10,color="white",style="solid",shape="box"];6296 -> 6812[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6812 -> 6318[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6394[label="absReal1 (Pos (Succ vuz1670)) (compare (Pos (Succ vuz1670)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6394 -> 6401[label="",style="solid", color="black", weight=3]; 108.51/78.77 6395[label="absReal1 (Pos vuz28) (compare (Pos vuz28) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6395 -> 6402[label="",style="solid", color="black", weight=3]; 108.51/78.77 6396[label="gcd0Gcd'1 (primEqInt (Pos vuz1690) (fromInt (Pos Zero))) vuz170 (Pos vuz1690)",fontsize=16,color="burlywood",shape="box"];6813[label="vuz1690/Succ vuz16900",fontsize=10,color="white",style="solid",shape="box"];6396 -> 6813[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6813 -> 6403[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6814[label="vuz1690/Zero",fontsize=10,color="white",style="solid",shape="box"];6396 -> 6814[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6814 -> 6404[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6397[label="gcd0Gcd'1 (primEqInt (Neg vuz1690) (fromInt (Pos Zero))) vuz170 (Neg vuz1690)",fontsize=16,color="burlywood",shape="box"];6815[label="vuz1690/Succ vuz16900",fontsize=10,color="white",style="solid",shape="box"];6397 -> 6815[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6815 -> 6405[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6816[label="vuz1690/Zero",fontsize=10,color="white",style="solid",shape="box"];6397 -> 6816[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6816 -> 6406[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6400 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6400[label="gcd0Gcd' (abs (Pos Zero)) (abs (Pos (Succ vuz280)))",fontsize=16,color="magenta"];6400 -> 6409[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6400 -> 6410[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6398[label="absReal1 (Neg (Succ vuz1240)) (compare (Neg (Succ vuz1240)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6398 -> 6407[label="",style="solid", color="black", weight=3]; 108.51/78.77 5265 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5265[label="gcd0Gcd' (abs (Neg Zero)) (abs (Pos (Succ vuz280)))",fontsize=16,color="magenta"];5265 -> 6357[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5265 -> 6358[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6399[label="absReal1 (Neg vuz34) (compare (Neg vuz34) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6399 -> 6408[label="",style="solid", color="black", weight=3]; 108.51/78.77 5267 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 5267[label="gcd0Gcd' (abs (Neg Zero)) (abs (Neg (Succ vuz340)))",fontsize=16,color="magenta"];5267 -> 6359[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5267 -> 6360[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 5305[label="Succ vuz340",fontsize=16,color="green",shape="box"];6315[label="primMinusNatS (Succ vuz1620) (Succ vuz1630)",fontsize=16,color="black",shape="box"];6315 -> 6331[label="",style="solid", color="black", weight=3]; 108.51/78.77 6316[label="primMinusNatS (Succ vuz1620) Zero",fontsize=16,color="black",shape="box"];6316 -> 6332[label="",style="solid", color="black", weight=3]; 108.51/78.77 6317[label="primMinusNatS Zero (Succ vuz1630)",fontsize=16,color="black",shape="box"];6317 -> 6333[label="",style="solid", color="black", weight=3]; 108.51/78.77 6318[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];6318 -> 6334[label="",style="solid", color="black", weight=3]; 108.51/78.77 6401[label="absReal1 (Pos (Succ vuz1670)) (not (compare (Pos (Succ vuz1670)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6401 -> 6411[label="",style="solid", color="black", weight=3]; 108.51/78.77 6402[label="absReal1 (Pos vuz28) (not (compare (Pos vuz28) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6402 -> 6412[label="",style="solid", color="black", weight=3]; 108.51/78.77 6403[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz16900)) (fromInt (Pos Zero))) vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6403 -> 6413[label="",style="solid", color="black", weight=3]; 108.51/78.77 6404[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6404 -> 6414[label="",style="solid", color="black", weight=3]; 108.51/78.77 6405[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz16900)) (fromInt (Pos Zero))) vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6405 -> 6415[label="",style="solid", color="black", weight=3]; 108.51/78.77 6406[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6406 -> 6416[label="",style="solid", color="black", weight=3]; 108.51/78.77 6409 -> 6350[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6409[label="abs (Pos Zero)",fontsize=16,color="magenta"];6409 -> 6419[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6410 -> 6350[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6410[label="abs (Pos (Succ vuz280))",fontsize=16,color="magenta"];6410 -> 6420[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6407[label="absReal1 (Neg (Succ vuz1240)) (not (compare (Neg (Succ vuz1240)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6407 -> 6417[label="",style="solid", color="black", weight=3]; 108.51/78.77 6357 -> 6354[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6357[label="abs (Neg Zero)",fontsize=16,color="magenta"];6357 -> 6372[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6358 -> 6350[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6358[label="abs (Pos (Succ vuz280))",fontsize=16,color="magenta"];6358 -> 6373[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6408[label="absReal1 (Neg vuz34) (not (compare (Neg vuz34) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6408 -> 6418[label="",style="solid", color="black", weight=3]; 108.51/78.77 6359 -> 6354[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6359[label="abs (Neg Zero)",fontsize=16,color="magenta"];6359 -> 6374[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6360 -> 6354[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6360[label="abs (Neg (Succ vuz340))",fontsize=16,color="magenta"];6360 -> 6375[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6331 -> 6280[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6331[label="primMinusNatS vuz1620 vuz1630",fontsize=16,color="magenta"];6331 -> 6376[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6331 -> 6377[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6332[label="Succ vuz1620",fontsize=16,color="green",shape="box"];6333[label="Zero",fontsize=16,color="green",shape="box"];6334[label="Zero",fontsize=16,color="green",shape="box"];6411[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpInt (Pos (Succ vuz1670)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6411 -> 6421[label="",style="solid", color="black", weight=3]; 108.51/78.77 6412[label="absReal1 (Pos vuz28) (not (primCmpInt (Pos vuz28) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];6817[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];6412 -> 6817[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6817 -> 6422[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6818[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];6412 -> 6818[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6818 -> 6423[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6413[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz16900)) (Pos Zero)) vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6413 -> 6424[label="",style="solid", color="black", weight=3]; 108.51/78.77 6414[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6414 -> 6425[label="",style="solid", color="black", weight=3]; 108.51/78.77 6415[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz16900)) (Pos Zero)) vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6415 -> 6426[label="",style="solid", color="black", weight=3]; 108.51/78.77 6416[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6416 -> 6427[label="",style="solid", color="black", weight=3]; 108.51/78.77 6419[label="Zero",fontsize=16,color="green",shape="box"];6420[label="Succ vuz280",fontsize=16,color="green",shape="box"];6417[label="absReal1 (Neg (Succ vuz1240)) (not (primCmpInt (Neg (Succ vuz1240)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6417 -> 6428[label="",style="solid", color="black", weight=3]; 108.51/78.77 6372[label="Zero",fontsize=16,color="green",shape="box"];6373[label="Succ vuz280",fontsize=16,color="green",shape="box"];6418[label="absReal1 (Neg vuz34) (not (primCmpInt (Neg vuz34) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];6819[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];6418 -> 6819[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6819 -> 6429[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6820[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];6418 -> 6820[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6820 -> 6430[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6374[label="Zero",fontsize=16,color="green",shape="box"];6375[label="Succ vuz340",fontsize=16,color="green",shape="box"];6376[label="vuz1620",fontsize=16,color="green",shape="box"];6377[label="vuz1630",fontsize=16,color="green",shape="box"];6421[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpInt (Pos (Succ vuz1670)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];6421 -> 6431[label="",style="solid", color="black", weight=3]; 108.51/78.77 6422[label="absReal1 (Pos (Succ vuz280)) (not (primCmpInt (Pos (Succ vuz280)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6422 -> 6432[label="",style="solid", color="black", weight=3]; 108.51/78.77 6423[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6423 -> 6433[label="",style="solid", color="black", weight=3]; 108.51/78.77 6424[label="gcd0Gcd'1 False vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6424 -> 6434[label="",style="solid", color="black", weight=3]; 108.51/78.77 6425[label="gcd0Gcd'1 True vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6425 -> 6435[label="",style="solid", color="black", weight=3]; 108.51/78.77 6426[label="gcd0Gcd'1 False vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6426 -> 6436[label="",style="solid", color="black", weight=3]; 108.51/78.77 6427[label="gcd0Gcd'1 True vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6427 -> 6437[label="",style="solid", color="black", weight=3]; 108.51/78.77 6428[label="absReal1 (Neg (Succ vuz1240)) (not (primCmpInt (Neg (Succ vuz1240)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];6428 -> 6438[label="",style="solid", color="black", weight=3]; 108.51/78.77 6429[label="absReal1 (Neg (Succ vuz340)) (not (primCmpInt (Neg (Succ vuz340)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6429 -> 6439[label="",style="solid", color="black", weight=3]; 108.51/78.77 6430[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6430 -> 6440[label="",style="solid", color="black", weight=3]; 108.51/78.77 6431[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpNat (Succ vuz1670) Zero == LT))",fontsize=16,color="black",shape="box"];6431 -> 6441[label="",style="solid", color="black", weight=3]; 108.51/78.77 6432 -> 6421[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6432[label="absReal1 (Pos (Succ vuz280)) (not (primCmpInt (Pos (Succ vuz280)) (Pos Zero) == LT))",fontsize=16,color="magenta"];6432 -> 6442[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6433[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];6433 -> 6443[label="",style="solid", color="black", weight=3]; 108.51/78.77 6434[label="gcd0Gcd'0 vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6434 -> 6444[label="",style="solid", color="black", weight=3]; 108.51/78.77 6435[label="vuz170",fontsize=16,color="green",shape="box"];6436[label="gcd0Gcd'0 vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6436 -> 6445[label="",style="solid", color="black", weight=3]; 108.51/78.77 6437[label="vuz170",fontsize=16,color="green",shape="box"];6438[label="absReal1 (Neg (Succ vuz1240)) (not (LT == LT))",fontsize=16,color="black",shape="box"];6438 -> 6446[label="",style="solid", color="black", weight=3]; 108.51/78.77 6439 -> 6428[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6439[label="absReal1 (Neg (Succ vuz340)) (not (primCmpInt (Neg (Succ vuz340)) (Pos Zero) == LT))",fontsize=16,color="magenta"];6439 -> 6447[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6440[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];6440 -> 6448[label="",style="solid", color="black", weight=3]; 108.51/78.77 6441[label="absReal1 (Pos (Succ vuz1670)) (not (GT == LT))",fontsize=16,color="black",shape="box"];6441 -> 6449[label="",style="solid", color="black", weight=3]; 108.51/78.77 6442[label="vuz280",fontsize=16,color="green",shape="box"];6443[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];6443 -> 6450[label="",style="solid", color="black", weight=3]; 108.51/78.77 6444 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6444[label="gcd0Gcd' (Pos (Succ vuz16900)) (vuz170 `rem` Pos (Succ vuz16900))",fontsize=16,color="magenta"];6444 -> 6451[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6444 -> 6452[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6445 -> 6348[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6445[label="gcd0Gcd' (Neg (Succ vuz16900)) (vuz170 `rem` Neg (Succ vuz16900))",fontsize=16,color="magenta"];6445 -> 6453[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6445 -> 6454[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6446[label="absReal1 (Neg (Succ vuz1240)) (not True)",fontsize=16,color="black",shape="box"];6446 -> 6455[label="",style="solid", color="black", weight=3]; 108.51/78.77 6447[label="vuz340",fontsize=16,color="green",shape="box"];6448[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];6448 -> 6456[label="",style="solid", color="black", weight=3]; 108.51/78.77 6449[label="absReal1 (Pos (Succ vuz1670)) (not False)",fontsize=16,color="black",shape="box"];6449 -> 6457[label="",style="solid", color="black", weight=3]; 108.51/78.77 6450[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];6450 -> 6458[label="",style="solid", color="black", weight=3]; 108.51/78.77 6451[label="Pos (Succ vuz16900)",fontsize=16,color="green",shape="box"];6452[label="vuz170 `rem` Pos (Succ vuz16900)",fontsize=16,color="black",shape="box"];6452 -> 6459[label="",style="solid", color="black", weight=3]; 108.51/78.77 6453[label="Neg (Succ vuz16900)",fontsize=16,color="green",shape="box"];6454[label="vuz170 `rem` Neg (Succ vuz16900)",fontsize=16,color="black",shape="box"];6454 -> 6460[label="",style="solid", color="black", weight=3]; 108.51/78.77 6455[label="absReal1 (Neg (Succ vuz1240)) False",fontsize=16,color="black",shape="box"];6455 -> 6461[label="",style="solid", color="black", weight=3]; 108.51/78.77 6456[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];6456 -> 6462[label="",style="solid", color="black", weight=3]; 108.51/78.77 6457[label="absReal1 (Pos (Succ vuz1670)) True",fontsize=16,color="black",shape="box"];6457 -> 6463[label="",style="solid", color="black", weight=3]; 108.51/78.77 6458[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];6458 -> 6464[label="",style="solid", color="black", weight=3]; 108.51/78.77 6459[label="primRemInt vuz170 (Pos (Succ vuz16900))",fontsize=16,color="burlywood",shape="box"];6821[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];6459 -> 6821[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6821 -> 6465[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6822[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];6459 -> 6822[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6822 -> 6466[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6460[label="primRemInt vuz170 (Neg (Succ vuz16900))",fontsize=16,color="burlywood",shape="box"];6823[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];6460 -> 6823[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6823 -> 6467[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6824[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];6460 -> 6824[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6824 -> 6468[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6461[label="absReal0 (Neg (Succ vuz1240)) otherwise",fontsize=16,color="black",shape="box"];6461 -> 6469[label="",style="solid", color="black", weight=3]; 108.51/78.77 6462[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];6462 -> 6470[label="",style="solid", color="black", weight=3]; 108.51/78.77 6463[label="Pos (Succ vuz1670)",fontsize=16,color="green",shape="box"];6464[label="Pos Zero",fontsize=16,color="green",shape="box"];6465[label="primRemInt (Pos vuz1700) (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6465 -> 6471[label="",style="solid", color="black", weight=3]; 108.51/78.77 6466[label="primRemInt (Neg vuz1700) (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6466 -> 6472[label="",style="solid", color="black", weight=3]; 108.51/78.77 6467[label="primRemInt (Pos vuz1700) (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6467 -> 6473[label="",style="solid", color="black", weight=3]; 108.51/78.77 6468[label="primRemInt (Neg vuz1700) (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6468 -> 6474[label="",style="solid", color="black", weight=3]; 108.51/78.77 6469[label="absReal0 (Neg (Succ vuz1240)) True",fontsize=16,color="black",shape="box"];6469 -> 6475[label="",style="solid", color="black", weight=3]; 108.51/78.77 6470[label="Neg Zero",fontsize=16,color="green",shape="box"];6471[label="Pos (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6471 -> 6476[label="",style="dashed", color="green", weight=3]; 108.51/78.77 6472[label="Neg (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6472 -> 6477[label="",style="dashed", color="green", weight=3]; 108.51/78.77 6473[label="Pos (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6473 -> 6478[label="",style="dashed", color="green", weight=3]; 108.51/78.77 6474[label="Neg (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6474 -> 6479[label="",style="dashed", color="green", weight=3]; 108.51/78.77 6475[label="`negate` Neg (Succ vuz1240)",fontsize=16,color="black",shape="box"];6475 -> 6480[label="",style="solid", color="black", weight=3]; 108.51/78.77 6476[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="burlywood",shape="triangle"];6825[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];6476 -> 6825[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6825 -> 6481[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6826[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];6476 -> 6826[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6826 -> 6482[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6477 -> 6476[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6477[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6477 -> 6483[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6478 -> 6476[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6478[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6478 -> 6484[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6479 -> 6476[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6479[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6479 -> 6485[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6479 -> 6486[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6480[label="primNegInt (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6480 -> 6487[label="",style="solid", color="black", weight=3]; 108.51/78.77 6481[label="primModNatS (Succ vuz17000) (Succ vuz16900)",fontsize=16,color="black",shape="box"];6481 -> 6488[label="",style="solid", color="black", weight=3]; 108.51/78.77 6482[label="primModNatS Zero (Succ vuz16900)",fontsize=16,color="black",shape="box"];6482 -> 6489[label="",style="solid", color="black", weight=3]; 108.51/78.77 6483[label="vuz1700",fontsize=16,color="green",shape="box"];6484[label="vuz16900",fontsize=16,color="green",shape="box"];6485[label="vuz16900",fontsize=16,color="green",shape="box"];6486[label="vuz1700",fontsize=16,color="green",shape="box"];6487[label="Pos (Succ vuz1240)",fontsize=16,color="green",shape="box"];6488[label="primModNatS0 vuz17000 vuz16900 (primGEqNatS vuz17000 vuz16900)",fontsize=16,color="burlywood",shape="box"];6827[label="vuz17000/Succ vuz170000",fontsize=10,color="white",style="solid",shape="box"];6488 -> 6827[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6827 -> 6490[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6828[label="vuz17000/Zero",fontsize=10,color="white",style="solid",shape="box"];6488 -> 6828[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6828 -> 6491[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6489[label="Zero",fontsize=16,color="green",shape="box"];6490[label="primModNatS0 (Succ vuz170000) vuz16900 (primGEqNatS (Succ vuz170000) vuz16900)",fontsize=16,color="burlywood",shape="box"];6829[label="vuz16900/Succ vuz169000",fontsize=10,color="white",style="solid",shape="box"];6490 -> 6829[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6829 -> 6492[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6830[label="vuz16900/Zero",fontsize=10,color="white",style="solid",shape="box"];6490 -> 6830[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6830 -> 6493[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6491[label="primModNatS0 Zero vuz16900 (primGEqNatS Zero vuz16900)",fontsize=16,color="burlywood",shape="box"];6831[label="vuz16900/Succ vuz169000",fontsize=10,color="white",style="solid",shape="box"];6491 -> 6831[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6831 -> 6494[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6832[label="vuz16900/Zero",fontsize=10,color="white",style="solid",shape="box"];6491 -> 6832[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6832 -> 6495[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6492[label="primModNatS0 (Succ vuz170000) (Succ vuz169000) (primGEqNatS (Succ vuz170000) (Succ vuz169000))",fontsize=16,color="black",shape="box"];6492 -> 6496[label="",style="solid", color="black", weight=3]; 108.51/78.77 6493[label="primModNatS0 (Succ vuz170000) Zero (primGEqNatS (Succ vuz170000) Zero)",fontsize=16,color="black",shape="box"];6493 -> 6497[label="",style="solid", color="black", weight=3]; 108.51/78.77 6494[label="primModNatS0 Zero (Succ vuz169000) (primGEqNatS Zero (Succ vuz169000))",fontsize=16,color="black",shape="box"];6494 -> 6498[label="",style="solid", color="black", weight=3]; 108.51/78.77 6495[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6495 -> 6499[label="",style="solid", color="black", weight=3]; 108.51/78.77 6496 -> 6658[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6496[label="primModNatS0 (Succ vuz170000) (Succ vuz169000) (primGEqNatS vuz170000 vuz169000)",fontsize=16,color="magenta"];6496 -> 6659[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6496 -> 6660[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6496 -> 6661[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6496 -> 6662[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6497[label="primModNatS0 (Succ vuz170000) Zero True",fontsize=16,color="black",shape="box"];6497 -> 6502[label="",style="solid", color="black", weight=3]; 108.51/78.77 6498[label="primModNatS0 Zero (Succ vuz169000) False",fontsize=16,color="black",shape="box"];6498 -> 6503[label="",style="solid", color="black", weight=3]; 108.51/78.77 6499[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];6499 -> 6504[label="",style="solid", color="black", weight=3]; 108.51/78.77 6659[label="vuz169000",fontsize=16,color="green",shape="box"];6660[label="vuz170000",fontsize=16,color="green",shape="box"];6661[label="vuz170000",fontsize=16,color="green",shape="box"];6662[label="vuz169000",fontsize=16,color="green",shape="box"];6658[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS vuz189 vuz190)",fontsize=16,color="burlywood",shape="triangle"];6833[label="vuz189/Succ vuz1890",fontsize=10,color="white",style="solid",shape="box"];6658 -> 6833[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6833 -> 6691[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6834[label="vuz189/Zero",fontsize=10,color="white",style="solid",shape="box"];6658 -> 6834[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6834 -> 6692[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6502 -> 6476[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6502[label="primModNatS (primMinusNatS (Succ vuz170000) Zero) (Succ Zero)",fontsize=16,color="magenta"];6502 -> 6509[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6502 -> 6510[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6503[label="Succ Zero",fontsize=16,color="green",shape="box"];6504 -> 6476[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6504[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];6504 -> 6511[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6504 -> 6512[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6691[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) vuz190)",fontsize=16,color="burlywood",shape="box"];6835[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];6691 -> 6835[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6835 -> 6693[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6836[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];6691 -> 6836[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6836 -> 6694[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6692[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero vuz190)",fontsize=16,color="burlywood",shape="box"];6837[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];6692 -> 6837[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6837 -> 6695[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6838[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];6692 -> 6838[label="",style="solid", color="burlywood", weight=9]; 108.51/78.77 6838 -> 6696[label="",style="solid", color="burlywood", weight=3]; 108.51/78.77 6509[label="Zero",fontsize=16,color="green",shape="box"];6510 -> 6280[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6510[label="primMinusNatS (Succ vuz170000) Zero",fontsize=16,color="magenta"];6510 -> 6517[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6510 -> 6518[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6511[label="Zero",fontsize=16,color="green",shape="box"];6512 -> 6280[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6512[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];6512 -> 6519[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6512 -> 6520[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6693[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) (Succ vuz1900))",fontsize=16,color="black",shape="box"];6693 -> 6697[label="",style="solid", color="black", weight=3]; 108.51/78.77 6694[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) Zero)",fontsize=16,color="black",shape="box"];6694 -> 6698[label="",style="solid", color="black", weight=3]; 108.51/78.77 6695[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero (Succ vuz1900))",fontsize=16,color="black",shape="box"];6695 -> 6699[label="",style="solid", color="black", weight=3]; 108.51/78.77 6696[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6696 -> 6700[label="",style="solid", color="black", weight=3]; 108.51/78.77 6517[label="Succ vuz170000",fontsize=16,color="green",shape="box"];6518[label="Zero",fontsize=16,color="green",shape="box"];6519[label="Zero",fontsize=16,color="green",shape="box"];6520[label="Zero",fontsize=16,color="green",shape="box"];6697 -> 6658[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6697[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS vuz1890 vuz1900)",fontsize=16,color="magenta"];6697 -> 6701[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6697 -> 6702[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6698[label="primModNatS0 (Succ vuz187) (Succ vuz188) True",fontsize=16,color="black",shape="triangle"];6698 -> 6703[label="",style="solid", color="black", weight=3]; 108.51/78.77 6699[label="primModNatS0 (Succ vuz187) (Succ vuz188) False",fontsize=16,color="black",shape="box"];6699 -> 6704[label="",style="solid", color="black", weight=3]; 108.51/78.77 6700 -> 6698[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6700[label="primModNatS0 (Succ vuz187) (Succ vuz188) True",fontsize=16,color="magenta"];6701[label="vuz1890",fontsize=16,color="green",shape="box"];6702[label="vuz1900",fontsize=16,color="green",shape="box"];6703 -> 6476[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6703[label="primModNatS (primMinusNatS (Succ vuz187) (Succ vuz188)) (Succ (Succ vuz188))",fontsize=16,color="magenta"];6703 -> 6705[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6703 -> 6706[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6704[label="Succ (Succ vuz187)",fontsize=16,color="green",shape="box"];6705[label="Succ vuz188",fontsize=16,color="green",shape="box"];6706 -> 6280[label="",style="dashed", color="red", weight=0]; 108.51/78.77 6706[label="primMinusNatS (Succ vuz187) (Succ vuz188)",fontsize=16,color="magenta"];6706 -> 6707[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6706 -> 6708[label="",style="dashed", color="magenta", weight=3]; 108.51/78.77 6707[label="Succ vuz187",fontsize=16,color="green",shape="box"];6708[label="Succ vuz188",fontsize=16,color="green",shape="box"];} 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (12) 108.51/78.77 Complex Obligation (AND) 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (13) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.51/78.77 new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primRemInt0(Pos(x0), x1) 108.51/78.77 new_primRemInt(Pos(x0), x1) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primRemInt(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primRemInt0(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (14) MNOCProof (EQUIVALENT) 108.51/78.77 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (15) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.51/78.77 new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 108.51/78.77 Q is empty. 108.51/78.77 We have to consider all (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (16) InductionCalculusProof (EQUIVALENT) 108.51/78.77 Note that final constraints are written in bold face. 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 For Pair new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) the following chains were created: 108.51/78.77 *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: 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 108.51/78.77 108.51/78.77 (2) (new_primRemInt(x0, x1)=Pos(Succ(x3)) ==> new_gcd0Gcd'(x0, Pos(Succ(x1)))_>=_new_gcd0Gcd'(Pos(Succ(x1)), new_primRemInt(x0, x1))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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: 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 108.51/78.77 108.51/78.77 (4) (new_primModNatS1(x17, x16)=Succ(x3) ==> new_gcd0Gcd'(Pos(x17), Pos(Succ(x16)))_>=_new_gcd0Gcd'(Pos(Succ(x16)), new_primRemInt(Pos(x17), x16))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 108.51/78.77 108.51/78.77 (9) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x20))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x20))), new_primRemInt(Pos(Succ(Zero)), Succ(x20)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (10) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (11) (new_gcd0Gcd'(Pos(Succ(Succ(x21))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x21))), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 *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: 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 108.51/78.77 108.51/78.77 (2) (new_primRemInt(x4, x5)=Neg(Succ(x7)) ==> new_gcd0Gcd'(x4, Pos(Succ(x5)))_>=_new_gcd0Gcd'(Pos(Succ(x5)), new_primRemInt(x4, x5))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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: 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 108.51/78.77 108.51/78.77 (4) (new_primModNatS1(x38, x37)=Succ(x7) ==> new_gcd0Gcd'(Neg(x38), Pos(Succ(x37)))_>=_new_gcd0Gcd'(Pos(Succ(x37)), new_primRemInt(Neg(x38), x37))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 108.51/78.77 108.51/78.77 (9) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x39))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x39))), new_primRemInt(Neg(Succ(Zero)), Succ(x39)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (10) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (11) (new_gcd0Gcd'(Neg(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x40))), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 For Pair new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) the following chains were created: 108.51/78.77 *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: 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 108.51/78.77 108.51/78.77 (2) (new_primRemInt0(x8, x9)=Pos(Succ(x11)) ==> new_gcd0Gcd'(x8, Neg(Succ(x9)))_>=_new_gcd0Gcd'(Neg(Succ(x9)), new_primRemInt0(x8, x9))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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: 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 108.51/78.77 108.51/78.77 (4) (new_primModNatS1(x57, x56)=Succ(x11) ==> new_gcd0Gcd'(Pos(x57), Neg(Succ(x56)))_>=_new_gcd0Gcd'(Neg(Succ(x56)), new_primRemInt0(Pos(x57), x56))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 108.51/78.77 108.51/78.77 (9) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x58))), new_primRemInt0(Pos(Succ(Zero)), Succ(x58)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (10) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Zero)), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (11) (new_gcd0Gcd'(Pos(Succ(Succ(x59))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Succ(x59))), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 *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: 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 108.51/78.77 108.51/78.77 (2) (new_primRemInt0(x12, x13)=Neg(Succ(x15)) ==> new_gcd0Gcd'(x12, Neg(Succ(x13)))_>=_new_gcd0Gcd'(Neg(Succ(x13)), new_primRemInt0(x12, x13))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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: 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 108.51/78.77 108.51/78.77 (4) (new_primModNatS1(x74, x73)=Succ(x15) ==> new_gcd0Gcd'(Neg(x74), Neg(Succ(x73)))_>=_new_gcd0Gcd'(Neg(Succ(x73)), new_primRemInt0(Neg(x74), x73))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 108.51/78.77 108.51/78.77 (9) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x77))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x77))), new_primRemInt0(Neg(Succ(Zero)), Succ(x77)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (6) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (10) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Zero)), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (11) (new_gcd0Gcd'(Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Succ(x78))), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 To summarize, we get the following constraints P__>=_ for the following pairs. 108.51/78.77 108.51/78.77 *new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x20))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x20))), new_primRemInt(Pos(Succ(Zero)), Succ(x20)))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Pos(Succ(Succ(x21))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x21))), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Pos(Succ(Succ(x33))), Pos(Succ(Succ(x34))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x34))), new_primRemInt(Pos(Succ(Succ(x33))), Succ(x34)))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x39))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x39))), new_primRemInt(Neg(Succ(Zero)), Succ(x39)))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Neg(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x40))), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Neg(Succ(Succ(x52))), Pos(Succ(Succ(x53))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x53))), new_primRemInt(Neg(Succ(Succ(x52))), Succ(x53)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 *new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x58))), new_primRemInt0(Pos(Succ(Zero)), Succ(x58)))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Zero)), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Pos(Succ(Succ(x59))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Pos(Succ(Succ(x59))), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Pos(Succ(Succ(x71))), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x72))), new_primRemInt0(Pos(Succ(Succ(x71))), Succ(x72)))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x77))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x77))), new_primRemInt0(Neg(Succ(Zero)), Succ(x77)))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Zero)), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt0(Neg(Succ(Succ(x78))), Zero))) 108.51/78.77 108.51/78.77 108.51/78.77 *(new_gcd0Gcd'(Neg(Succ(Succ(x90))), Neg(Succ(Succ(x91))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x91))), new_primRemInt0(Neg(Succ(Succ(x90))), Succ(x91)))) 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 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. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (17) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.51/78.77 new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primRemInt0(Pos(x0), x1) 108.51/78.77 new_primRemInt(Pos(x0), x1) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primRemInt(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primRemInt0(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (18) TransformationProof (EQUIVALENT) 108.51/78.77 By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) at position [1] we obtained the following new rules [LPAR04]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (19) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.51/78.77 new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 108.51/78.77 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primRemInt0(Pos(x0), x1) 108.51/78.77 new_primRemInt(Pos(x0), x1) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primRemInt(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primRemInt0(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (20) DependencyGraphProof (EQUIVALENT) 108.51/78.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (21) 108.51/78.77 Complex Obligation (AND) 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (22) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primRemInt0(Pos(x0), x1) 108.51/78.77 new_primRemInt(Pos(x0), x1) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primRemInt(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primRemInt0(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (23) UsableRulesProof (EQUIVALENT) 108.51/78.77 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. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (24) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primRemInt0(Pos(x0), x1) 108.51/78.77 new_primRemInt(Pos(x0), x1) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primRemInt(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primRemInt0(Neg(x0), x1) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (25) QReductionProof (EQUIVALENT) 108.51/78.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.51/78.77 108.51/78.77 new_primRemInt0(Pos(x0), x1) 108.51/78.77 new_primRemInt(Pos(x0), x1) 108.51/78.77 new_primRemInt(Neg(x0), x1) 108.51/78.77 new_primRemInt0(Neg(x0), x1) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (26) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (27) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 (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)))) 108.51/78.77 (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)))) 108.51/78.77 (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)))) 108.51/78.77 (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))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (28) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.77 new_gcd0Gcd'(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (29) DependencyGraphProof (EQUIVALENT) 108.51/78.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (30) 108.51/78.77 Complex Obligation (AND) 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (31) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (32) UsableRulesProof (EQUIVALENT) 108.51/78.77 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. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (33) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (34) QReductionProof (EQUIVALENT) 108.51/78.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.51/78.77 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (35) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (36) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (37) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (38) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (39) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (40) DependencyGraphProof (EQUIVALENT) 108.51/78.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (41) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (42) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (43) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (44) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (45) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (46) DependencyGraphProof (EQUIVALENT) 108.51/78.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (47) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (48) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (49) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (50) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (51) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.77 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))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (52) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (53) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 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))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (54) DependencyGraphProof (EQUIVALENT) 108.51/78.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (55) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 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))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (56) TransformationProof (EQUIVALENT) 108.51/78.77 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]: 108.51/78.77 108.51/78.77 (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)))) 108.51/78.77 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (57) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (58) QDPSizeChangeProof (EQUIVALENT) 108.51/78.77 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 108.51/78.77 108.51/78.77 Order:Polynomial interpretation [POLO]: 108.51/78.77 108.51/78.77 POL(Pos(x_1)) = x_1 108.51/78.77 POL(Succ(x_1)) = 1 + x_1 108.51/78.77 POL(Zero) = 1 108.51/78.77 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.51/78.77 POL(new_primModNatS1(x_1, x_2)) = x_1 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 From the DPs we obtained the following set of size-change graphs: 108.51/78.77 *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}) 108.51/78.77 The graph contains the following edges 2 >= 1, 1 > 2 108.51/78.77 108.51/78.77 108.51/78.77 *new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 108.51/78.77 The graph contains the following edges 2 >= 1, 1 >= 2 108.51/78.77 108.51/78.77 108.51/78.77 108.51/78.77 We oriented the following set of usable rules [AAECC05,FROCOS05]. 108.51/78.77 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (59) 108.51/78.77 YES 108.51/78.77 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (60) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.77 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.77 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.77 108.51/78.77 The set Q consists of the following terms: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.77 new_primModNatS1(Zero, x0) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.77 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.77 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.77 new_primMinusNatS0(Zero, Zero) 108.51/78.77 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.77 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.77 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.77 new_primModNatS1(Succ(Zero), Zero) 108.51/78.77 new_primModNatS02(x0, x1) 108.51/78.77 108.51/78.77 We have to consider all minimal (P,Q,R)-chains. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (61) UsableRulesProof (EQUIVALENT) 108.51/78.77 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. 108.51/78.77 ---------------------------------------- 108.51/78.77 108.51/78.77 (62) 108.51/78.77 Obligation: 108.51/78.77 Q DP problem: 108.51/78.77 The TRS P consists of the following rules: 108.51/78.77 108.51/78.77 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.77 108.51/78.77 The TRS R consists of the following rules: 108.51/78.77 108.51/78.77 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.77 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.77 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (63) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 (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)))) 108.51/78.78 (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)))) 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (64) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 108.51/78.78 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))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (65) DependencyGraphProof (EQUIVALENT) 108.51/78.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (66) 108.51/78.78 Complex Obligation (AND) 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (67) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (68) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (69) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 108.51/78.78 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)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (70) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (71) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 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)))) 108.51/78.78 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)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (72) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (73) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 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)))) 108.51/78.78 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)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (74) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (75) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 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)))) 108.51/78.78 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)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (76) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (77) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 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)))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (78) DependencyGraphProof (EQUIVALENT) 108.51/78.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (79) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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)))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (80) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (81) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (82) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (83) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 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))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (84) DependencyGraphProof (EQUIVALENT) 108.51/78.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (85) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))) 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (86) QDPOrderProof (EQUIVALENT) 108.51/78.78 We use the reduction pair processor [LPAR04,JAR06]. 108.51/78.78 108.51/78.78 108.51/78.78 The following pairs can be oriented strictly and are deleted. 108.51/78.78 108.51/78.78 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))) 108.51/78.78 The remaining pairs can at least be oriented weakly. 108.51/78.78 Used ordering: Polynomial interpretation [POLO]: 108.51/78.78 108.51/78.78 POL(Pos(x_1)) = 2*x_1 108.51/78.78 POL(Succ(x_1)) = 1 + x_1 108.51/78.78 POL(Zero) = 0 108.51/78.78 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 108.51/78.78 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.51/78.78 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 3 + x_1 108.51/78.78 POL(new_primModNatS02(x_1, x_2)) = 3 + x_1 108.51/78.78 POL(new_primModNatS1(x_1, x_2)) = 2 + x_1 108.51/78.78 108.51/78.78 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (87) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (88) DependencyGraphProof (EQUIVALENT) 108.51/78.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (89) 108.51/78.78 TRUE 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (90) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (91) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 (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)))) 108.51/78.78 (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))))) 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (92) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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)))) 108.51/78.78 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))) 108.51/78.78 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)))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (93) DependencyGraphProof (EQUIVALENT) 108.51/78.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (94) 108.51/78.78 Complex Obligation (AND) 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (95) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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)))) 108.51/78.78 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))))) 108.51/78.78 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)))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (96) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (97) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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)))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (98) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (99) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (100) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (101) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (102) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (103) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (104) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (105) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (106) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (107) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (108) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (109) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (110) DependencyGraphProof (EQUIVALENT) 108.51/78.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (111) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (112) TransformationProof (EQUIVALENT) 108.51/78.78 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]: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (113) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (114) QDPOrderProof (EQUIVALENT) 108.51/78.78 We use the reduction pair processor [LPAR04,JAR06]. 108.51/78.78 108.51/78.78 108.51/78.78 The following pairs can be oriented strictly and are deleted. 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 The remaining pairs can at least be oriented weakly. 108.51/78.78 Used ordering: Polynomial interpretation [POLO]: 108.51/78.78 108.51/78.78 POL(Pos(x_1)) = 2*x_1 108.51/78.78 POL(Succ(x_1)) = 1 + x_1 108.51/78.78 POL(Zero) = 0 108.51/78.78 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 108.51/78.78 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.51/78.78 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 108.51/78.78 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 108.51/78.78 POL(new_primModNatS1(x_1, x_2)) = x_1 108.51/78.78 108.51/78.78 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (115) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (116) DependencyGraphProof (EQUIVALENT) 108.51/78.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (117) 108.51/78.78 TRUE 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (118) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (119) InductionCalculusProof (EQUIVALENT) 108.51/78.78 Note that final constraints are written in bold face. 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 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: 108.51/78.78 *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: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 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: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 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: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (4) using rule (IV) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 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: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 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: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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))))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 To summarize, we get the following constraints P__>=_ for the following pairs. 108.51/78.78 108.51/78.78 *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))) 108.51/78.78 108.51/78.78 *(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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 *(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))))) 108.51/78.78 108.51/78.78 108.51/78.78 *(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)))) 108.51/78.78 108.51/78.78 108.51/78.78 *(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))))) 108.51/78.78 108.51/78.78 108.51/78.78 *(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)))))) 108.51/78.78 108.51/78.78 108.51/78.78 *(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))))) 108.51/78.78 108.51/78.78 108.51/78.78 *(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)))) 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 108.51/78.78 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. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (120) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 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))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (121) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.51/78.78 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primRemInt0(Pos(x0), x1) 108.51/78.78 new_primRemInt(Pos(x0), x1) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primRemInt(Neg(x0), x1) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primRemInt0(Neg(x0), x1) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (122) UsableRulesProof (EQUIVALENT) 108.51/78.78 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. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (123) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.51/78.78 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primRemInt0(Pos(x0), x1) 108.51/78.78 new_primRemInt(Pos(x0), x1) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primRemInt(Neg(x0), x1) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primRemInt0(Neg(x0), x1) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (124) QReductionProof (EQUIVALENT) 108.51/78.78 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.51/78.78 108.51/78.78 new_primRemInt(Pos(x0), x1) 108.51/78.78 new_primRemInt(Neg(x0), x1) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (125) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.51/78.78 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primRemInt0(Pos(x0), x1) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primRemInt0(Neg(x0), x1) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (126) TransformationProof (EQUIVALENT) 108.51/78.78 By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) at position [1] we obtained the following new rules [LPAR04]: 108.51/78.78 108.51/78.78 (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)))) 108.51/78.78 (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)))) 108.51/78.78 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (127) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.78 new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.78 new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primRemInt0(Pos(x0), x1) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primRemInt0(Neg(x0), x1) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (128) DependencyGraphProof (EQUIVALENT) 108.51/78.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (129) 108.51/78.78 Complex Obligation (AND) 108.51/78.78 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (130) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.78 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.78 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.78 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.78 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.78 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.78 108.51/78.78 The set Q consists of the following terms: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.78 new_primModNatS1(Zero, x0) 108.51/78.78 new_primRemInt0(Pos(x0), x1) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.78 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.78 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.78 new_primMinusNatS0(Zero, Zero) 108.51/78.78 new_primRemInt0(Neg(x0), x1) 108.51/78.78 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.78 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) 108.51/78.78 new_primModNatS02(x0, x1) 108.51/78.78 108.51/78.78 We have to consider all minimal (P,Q,R)-chains. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (131) UsableRulesProof (EQUIVALENT) 108.51/78.78 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. 108.51/78.78 ---------------------------------------- 108.51/78.78 108.51/78.78 (132) 108.51/78.78 Obligation: 108.51/78.78 Q DP problem: 108.51/78.78 The TRS P consists of the following rules: 108.51/78.78 108.51/78.78 new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.78 108.51/78.78 The TRS R consists of the following rules: 108.51/78.78 108.51/78.78 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.78 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primRemInt0(Pos(x0), x1) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primRemInt0(Neg(x0), x1) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (133) QReductionProof (EQUIVALENT) 108.51/78.79 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.51/78.79 108.51/78.79 new_primRemInt0(Pos(x0), x1) 108.51/78.79 new_primRemInt0(Neg(x0), x1) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (134) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (135) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 (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)))) 108.51/78.79 (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)))) 108.51/78.79 (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)))) 108.51/78.79 (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))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (136) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.79 new_gcd0Gcd'(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (137) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (138) 108.51/78.79 Complex Obligation (AND) 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (139) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (140) UsableRulesProof (EQUIVALENT) 108.51/78.79 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. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (141) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (142) QReductionProof (EQUIVALENT) 108.51/78.79 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.51/78.79 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (143) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (144) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (145) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (146) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (147) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (148) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (149) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (150) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (151) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (152) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (153) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (154) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (155) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (156) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (157) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (158) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (159) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 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))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (160) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (161) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (162) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (163) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (164) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (165) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (166) QDPSizeChangeProof (EQUIVALENT) 108.51/78.79 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 108.51/78.79 108.51/78.79 Order:Polynomial interpretation [POLO]: 108.51/78.79 108.51/78.79 POL(Neg(x_1)) = x_1 108.51/78.79 POL(Succ(x_1)) = 1 + x_1 108.51/78.79 POL(Zero) = 1 108.51/78.79 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.51/78.79 POL(new_primModNatS1(x_1, x_2)) = x_1 108.51/78.79 108.51/78.79 108.51/78.79 108.51/78.79 108.51/78.79 From the DPs we obtained the following set of size-change graphs: 108.51/78.79 *new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 108.51/78.79 The graph contains the following edges 2 >= 1, 1 >= 2 108.51/78.79 108.51/78.79 108.51/78.79 *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}) 108.51/78.79 The graph contains the following edges 2 >= 1, 1 > 2 108.51/78.79 108.51/78.79 108.51/78.79 108.51/78.79 We oriented the following set of usable rules [AAECC05,FROCOS05]. 108.51/78.79 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (167) 108.51/78.79 YES 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (168) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (169) UsableRulesProof (EQUIVALENT) 108.51/78.79 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. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (170) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (171) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 (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)))) 108.51/78.79 (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)))) 108.51/78.79 (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))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (172) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 108.51/78.79 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))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (173) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (174) 108.51/78.79 Complex Obligation (AND) 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (175) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (176) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (177) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 108.51/78.79 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)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (178) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (179) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 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)))) 108.51/78.79 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)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (180) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (181) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 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)))) 108.51/78.79 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)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (182) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (183) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 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)))) 108.51/78.79 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)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (184) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (185) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 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)))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (186) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (187) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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)))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (188) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (189) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (190) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))) 108.51/78.79 (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)))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (191) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 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))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (192) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (193) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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))) 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (194) QDPOrderProof (EQUIVALENT) 108.51/78.79 We use the reduction pair processor [LPAR04,JAR06]. 108.51/78.79 108.51/78.79 108.51/78.79 The following pairs can be oriented strictly and are deleted. 108.51/78.79 108.51/78.79 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))) 108.51/78.79 The remaining pairs can at least be oriented weakly. 108.51/78.79 Used ordering: Polynomial interpretation [POLO]: 108.51/78.79 108.51/78.79 POL(Neg(x_1)) = 2*x_1 108.51/78.79 POL(Succ(x_1)) = 1 + x_1 108.51/78.79 POL(Zero) = 0 108.51/78.79 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 108.51/78.79 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.51/78.79 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 3 + x_1 108.51/78.79 POL(new_primModNatS02(x_1, x_2)) = 3 + x_1 108.51/78.79 POL(new_primModNatS1(x_1, x_2)) = 2 + x_1 108.51/78.79 108.51/78.79 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (195) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (196) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (197) 108.51/78.79 TRUE 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (198) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (199) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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))))) 108.51/78.79 (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)))) 108.51/78.79 (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))))) 108.51/78.79 (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)))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (200) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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)))) 108.51/78.79 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))) 108.51/78.79 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)))) 108.51/78.79 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))))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (201) DependencyGraphProof (EQUIVALENT) 108.51/78.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (202) 108.51/78.79 Complex Obligation (AND) 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (203) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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)))) 108.51/78.79 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))))) 108.51/78.79 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)))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (204) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (205) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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))))) 108.51/78.79 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)))) 108.51/78.79 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))))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (206) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (207) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (208) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (209) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (210) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (211) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (212) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (213) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.79 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.79 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.79 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.79 108.51/78.79 The set Q consists of the following terms: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.79 new_primModNatS1(Zero, x0) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.79 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.79 new_primMinusNatS0(Zero, Zero) 108.51/78.79 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.79 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.79 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.79 new_primModNatS1(Succ(Zero), Zero) 108.51/78.79 new_primModNatS02(x0, x1) 108.51/78.79 108.51/78.79 We have to consider all minimal (P,Q,R)-chains. 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (214) TransformationProof (EQUIVALENT) 108.51/78.79 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]: 108.51/78.79 108.51/78.79 (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)))))) 108.51/78.79 108.51/78.79 108.51/78.79 ---------------------------------------- 108.51/78.79 108.51/78.79 (215) 108.51/78.79 Obligation: 108.51/78.79 Q DP problem: 108.51/78.79 The TRS P consists of the following rules: 108.51/78.79 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 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))))) 108.51/78.79 108.51/78.79 The TRS R consists of the following rules: 108.51/78.79 108.51/78.79 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.79 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.79 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (216) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (217) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 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))))) 108.51/78.80 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))))) 108.51/78.80 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))))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (218) DependencyGraphProof (EQUIVALENT) 108.51/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (219) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 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))))) 108.51/78.80 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))))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (220) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (221) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 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))))) 108.51/78.80 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))))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (222) QDPOrderProof (EQUIVALENT) 108.51/78.80 We use the reduction pair processor [LPAR04,JAR06]. 108.51/78.80 108.51/78.80 108.51/78.80 The following pairs can be oriented strictly and are deleted. 108.51/78.80 108.51/78.80 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))))) 108.51/78.80 The remaining pairs can at least be oriented weakly. 108.51/78.80 Used ordering: Polynomial interpretation [POLO]: 108.51/78.80 108.51/78.80 POL(Neg(x_1)) = 2*x_1 108.51/78.80 POL(Succ(x_1)) = 1 + x_1 108.51/78.80 POL(Zero) = 0 108.51/78.80 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 108.51/78.80 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.51/78.80 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 108.51/78.80 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 108.51/78.80 POL(new_primModNatS1(x_1, x_2)) = x_1 108.51/78.80 108.51/78.80 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (223) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 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))))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (224) DependencyGraphProof (EQUIVALENT) 108.51/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (225) 108.51/78.80 TRUE 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (226) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 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))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (227) InductionCalculusProof (EQUIVALENT) 108.51/78.80 Note that final constraints are written in bold face. 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 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: 108.51/78.80 *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: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 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: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 (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))))) 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 (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))))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 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: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (4) using rule (IV) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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))))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 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: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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))))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 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: 108.51/78.80 108.51/78.80 (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))))) 108.51/78.80 108.51/78.80 (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)))))) 108.51/78.80 108.51/78.80 (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))))) 108.51/78.80 108.51/78.80 (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)))))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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))))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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)))))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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))))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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)))))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 To summarize, we get the following constraints P__>=_ for the following pairs. 108.51/78.80 108.51/78.80 *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))) 108.51/78.80 108.51/78.80 *(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)))))) 108.51/78.80 108.51/78.80 108.51/78.80 *(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))))) 108.51/78.80 108.51/78.80 108.51/78.80 *(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)))) 108.51/78.80 108.51/78.80 108.51/78.80 *(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))))) 108.51/78.80 108.51/78.80 108.51/78.80 *(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)))))) 108.51/78.80 108.51/78.80 108.51/78.80 *(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))))) 108.51/78.80 108.51/78.80 108.51/78.80 *(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)))) 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 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. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (228) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 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))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (229) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 108.51/78.80 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.80 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primRemInt0(Pos(x0), x1) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primRemInt0(Neg(x0), x1) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (230) UsableRulesProof (EQUIVALENT) 108.51/78.80 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. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (231) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 108.51/78.80 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primRemInt0(Pos(x0), x1) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primRemInt0(Neg(x0), x1) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (232) QReductionProof (EQUIVALENT) 108.51/78.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.51/78.80 108.51/78.80 new_primRemInt0(Pos(x0), x1) 108.51/78.80 new_primRemInt0(Neg(x0), x1) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (233) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 108.51/78.80 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (234) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 (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))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (235) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (236) DependencyGraphProof (EQUIVALENT) 108.51/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (237) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (238) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (239) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (240) DependencyGraphProof (EQUIVALENT) 108.51/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (241) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (242) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (243) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (244) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 (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))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (245) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.51/78.80 new_gcd0Gcd'(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (246) DependencyGraphProof (EQUIVALENT) 108.51/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (247) 108.51/78.80 Complex Obligation (AND) 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (248) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (249) UsableRulesProof (EQUIVALENT) 108.51/78.80 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. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (250) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (251) QReductionProof (EQUIVALENT) 108.51/78.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.51/78.80 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (252) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (253) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (254) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (255) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (256) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (257) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (258) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (259) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (260) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (261) DependencyGraphProof (EQUIVALENT) 108.51/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (262) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (263) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (264) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 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))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (265) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (266) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (267) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (268) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (269) DependencyGraphProof (EQUIVALENT) 108.51/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (270) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (271) QDPSizeChangeProof (EQUIVALENT) 108.51/78.80 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 108.51/78.80 108.51/78.80 Order:Polynomial interpretation [POLO]: 108.51/78.80 108.51/78.80 POL(Neg(x_1)) = x_1 108.51/78.80 POL(Pos(x_1)) = 1 108.51/78.80 POL(Succ(x_1)) = 1 + x_1 108.51/78.80 POL(Zero) = 1 108.51/78.80 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.51/78.80 POL(new_primModNatS1(x_1, x_2)) = x_1 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 From the DPs we obtained the following set of size-change graphs: 108.51/78.80 *new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 108.51/78.80 The graph contains the following edges 2 >= 1, 1 >= 2 108.51/78.80 108.51/78.80 108.51/78.80 *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}) 108.51/78.80 The graph contains the following edges 2 >= 1, 1 > 2 108.51/78.80 108.51/78.80 108.51/78.80 108.51/78.80 We oriented the following set of usable rules [AAECC05,FROCOS05]. 108.51/78.80 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (272) 108.51/78.80 YES 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (273) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.51/78.80 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.51/78.80 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (274) UsableRulesProof (EQUIVALENT) 108.51/78.80 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. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (275) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (276) QReductionProof (EQUIVALENT) 108.51/78.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.51/78.80 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.51/78.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.51/78.80 new_primModNatS01(x0, x1, Zero, Zero) 108.51/78.80 new_primModNatS02(x0, x1) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (277) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (278) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (279) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (280) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (281) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (282) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (283) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (284) DependencyGraphProof (EQUIVALENT) 108.51/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (285) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 108.51/78.80 The TRS R consists of the following rules: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.51/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.51/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.51/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.51/78.80 108.51/78.80 The set Q consists of the following terms: 108.51/78.80 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.51/78.80 new_primModNatS1(Zero, x0) 108.51/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.51/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.51/78.80 new_primMinusNatS0(Zero, Zero) 108.51/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.51/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.51/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.51/78.80 new_primModNatS1(Succ(Zero), Zero) 108.51/78.80 108.51/78.80 We have to consider all minimal (P,Q,R)-chains. 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (286) TransformationProof (EQUIVALENT) 108.51/78.80 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]: 108.51/78.80 108.51/78.80 (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)))) 108.51/78.80 (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)))) 108.51/78.80 108.51/78.80 108.51/78.80 ---------------------------------------- 108.51/78.80 108.51/78.80 (287) 108.51/78.80 Obligation: 108.51/78.80 Q DP problem: 108.51/78.80 The TRS P consists of the following rules: 108.51/78.80 108.51/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.51/78.80 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))) 108.70/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.70/78.80 108.70/78.80 The TRS R consists of the following rules: 108.70/78.80 108.70/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.80 108.70/78.80 The set Q consists of the following terms: 108.70/78.80 108.70/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.80 new_primModNatS1(Zero, x0) 108.70/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.80 new_primMinusNatS0(Zero, Zero) 108.70/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.80 new_primModNatS1(Succ(Zero), Zero) 108.70/78.80 108.70/78.80 We have to consider all minimal (P,Q,R)-chains. 108.70/78.80 ---------------------------------------- 108.70/78.80 108.70/78.80 (288) TransformationProof (EQUIVALENT) 108.70/78.80 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]: 108.70/78.80 108.70/78.80 (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)))) 108.70/78.80 108.70/78.80 108.70/78.80 ---------------------------------------- 108.70/78.80 108.70/78.80 (289) 108.70/78.80 Obligation: 108.70/78.80 Q DP problem: 108.70/78.80 The TRS P consists of the following rules: 108.70/78.80 108.70/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.70/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 108.70/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.70/78.80 108.70/78.80 The TRS R consists of the following rules: 108.70/78.80 108.70/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.80 108.70/78.80 The set Q consists of the following terms: 108.70/78.80 108.70/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.80 new_primModNatS1(Zero, x0) 108.70/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.80 new_primMinusNatS0(Zero, Zero) 108.70/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.80 new_primModNatS1(Succ(Zero), Zero) 108.70/78.80 108.70/78.80 We have to consider all minimal (P,Q,R)-chains. 108.70/78.80 ---------------------------------------- 108.70/78.80 108.70/78.80 (290) TransformationProof (EQUIVALENT) 108.70/78.80 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]: 108.70/78.80 108.70/78.80 (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)))) 108.70/78.80 108.70/78.80 108.70/78.80 ---------------------------------------- 108.70/78.80 108.70/78.80 (291) 108.70/78.80 Obligation: 108.70/78.80 Q DP problem: 108.70/78.80 The TRS P consists of the following rules: 108.70/78.80 108.70/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.70/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.70/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 108.70/78.80 108.70/78.80 The TRS R consists of the following rules: 108.70/78.80 108.70/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.80 108.70/78.80 The set Q consists of the following terms: 108.70/78.80 108.70/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.80 new_primModNatS1(Zero, x0) 108.70/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.80 new_primMinusNatS0(Zero, Zero) 108.70/78.80 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.80 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.80 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.80 new_primModNatS1(Succ(Zero), Zero) 108.70/78.80 108.70/78.80 We have to consider all minimal (P,Q,R)-chains. 108.70/78.80 ---------------------------------------- 108.70/78.80 108.70/78.80 (292) DependencyGraphProof (EQUIVALENT) 108.70/78.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.70/78.80 ---------------------------------------- 108.70/78.80 108.70/78.80 (293) 108.70/78.80 Obligation: 108.70/78.80 Q DP problem: 108.70/78.80 The TRS P consists of the following rules: 108.70/78.80 108.70/78.80 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 108.70/78.80 new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 108.70/78.80 108.70/78.80 The TRS R consists of the following rules: 108.70/78.80 108.70/78.80 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.80 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.80 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.80 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.80 108.70/78.80 The set Q consists of the following terms: 108.70/78.80 108.70/78.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.80 new_primModNatS1(Zero, x0) 108.70/78.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.80 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.80 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (294) QDPSizeChangeProof (EQUIVALENT) 108.70/78.81 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 108.70/78.81 108.70/78.81 Order:Polynomial interpretation [POLO]: 108.70/78.81 108.70/78.81 POL(Neg(x_1)) = 1 108.70/78.81 POL(Pos(x_1)) = x_1 108.70/78.81 POL(Succ(x_1)) = 1 + x_1 108.70/78.81 POL(Zero) = 1 108.70/78.81 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.70/78.81 POL(new_primModNatS1(x_1, x_2)) = x_1 108.70/78.81 108.70/78.81 108.70/78.81 108.70/78.81 108.70/78.81 From the DPs we obtained the following set of size-change graphs: 108.70/78.81 *new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 108.70/78.81 The graph contains the following edges 2 >= 1, 1 >= 2 108.70/78.81 108.70/78.81 108.70/78.81 *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}) 108.70/78.81 The graph contains the following edges 2 >= 1, 1 > 2 108.70/78.81 108.70/78.81 108.70/78.81 108.70/78.81 We oriented the following set of usable rules [AAECC05,FROCOS05]. 108.70/78.81 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (295) 108.70/78.81 YES 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (296) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (297) UsableRulesProof (EQUIVALENT) 108.70/78.81 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. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (298) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (299) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))) 108.70/78.81 (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)))) 108.70/78.81 (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)))) 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (300) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (301) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (302) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (303) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (304) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 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)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (305) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (306) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 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)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (307) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (308) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 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)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (309) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (310) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (311) DependencyGraphProof (EQUIVALENT) 108.70/78.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (312) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (313) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (314) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (315) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 (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)))) 108.70/78.81 (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))))) 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (316) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 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))) 108.70/78.81 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)))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (317) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (318) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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)))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (319) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (320) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (321) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (322) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (323) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (324) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (325) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (326) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (327) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (328) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (329) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (330) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (331) DependencyGraphProof (EQUIVALENT) 108.70/78.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (332) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (333) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (334) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (335) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))) 108.70/78.81 (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)))) 108.70/78.81 (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)))) 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (336) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (337) DependencyGraphProof (EQUIVALENT) 108.70/78.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (338) 108.70/78.81 Complex Obligation (AND) 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (339) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (340) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (341) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (342) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (343) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (344) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (345) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (346) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))) 108.70/78.81 (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)))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (347) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (348) DependencyGraphProof (EQUIVALENT) 108.70/78.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (349) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (350) QDPOrderProof (EQUIVALENT) 108.70/78.81 We use the reduction pair processor [LPAR04,JAR06]. 108.70/78.81 108.70/78.81 108.70/78.81 The following pairs can be oriented strictly and are deleted. 108.70/78.81 108.70/78.81 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))) 108.70/78.81 The remaining pairs can at least be oriented weakly. 108.70/78.81 Used ordering: Polynomial interpretation [POLO]: 108.70/78.81 108.70/78.81 POL(Neg(x_1)) = x_1 108.70/78.81 POL(Pos(x_1)) = 0 108.70/78.81 POL(Succ(x_1)) = 1 + x_1 108.70/78.81 POL(Zero) = 0 108.70/78.81 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 108.70/78.81 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.70/78.81 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 108.70/78.81 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 108.70/78.81 POL(new_primModNatS1(x_1, x_2)) = x_1 108.70/78.81 108.70/78.81 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (351) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (352) DependencyGraphProof (EQUIVALENT) 108.70/78.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (353) 108.70/78.81 TRUE 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (354) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (355) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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)))) 108.70/78.81 (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)))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (356) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (357) DependencyGraphProof (EQUIVALENT) 108.70/78.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (358) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 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))) 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (359) QDPOrderProof (EQUIVALENT) 108.70/78.81 We use the reduction pair processor [LPAR04,JAR06]. 108.70/78.81 108.70/78.81 108.70/78.81 The following pairs can be oriented strictly and are deleted. 108.70/78.81 108.70/78.81 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))) 108.70/78.81 The remaining pairs can at least be oriented weakly. 108.70/78.81 Used ordering: Polynomial interpretation [POLO]: 108.70/78.81 108.70/78.81 POL(Neg(x_1)) = 0 108.70/78.81 POL(Pos(x_1)) = x_1 108.70/78.81 POL(Succ(x_1)) = 1 + x_1 108.70/78.81 POL(Zero) = 0 108.70/78.81 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 108.70/78.81 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.70/78.81 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 108.70/78.81 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 108.70/78.81 POL(new_primModNatS1(x_1, x_2)) = x_1 108.70/78.81 108.70/78.81 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (360) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (361) DependencyGraphProof (EQUIVALENT) 108.70/78.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (362) 108.70/78.81 TRUE 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (363) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 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))) 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.81 new_primModNatS02(x0, x1) 108.70/78.81 108.70/78.81 We have to consider all minimal (P,Q,R)-chains. 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (364) TransformationProof (EQUIVALENT) 108.70/78.81 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]: 108.70/78.81 108.70/78.81 (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))))) 108.70/78.81 (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)))) 108.70/78.81 (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))))) 108.70/78.81 (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)))))) 108.70/78.81 108.70/78.81 108.70/78.81 ---------------------------------------- 108.70/78.81 108.70/78.81 (365) 108.70/78.81 Obligation: 108.70/78.81 Q DP problem: 108.70/78.81 The TRS P consists of the following rules: 108.70/78.81 108.70/78.81 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))) 108.70/78.81 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))))) 108.70/78.81 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))))) 108.70/78.81 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)))) 108.70/78.81 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))) 108.70/78.81 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)))) 108.70/78.81 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))))) 108.70/78.81 108.70/78.81 The TRS R consists of the following rules: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.81 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.81 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.81 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.81 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.81 108.70/78.81 The set Q consists of the following terms: 108.70/78.81 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.81 new_primModNatS1(Zero, x0) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.81 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.81 new_primMinusNatS0(Zero, Zero) 108.70/78.81 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.81 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.81 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.81 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (366) DependencyGraphProof (EQUIVALENT) 108.70/78.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (367) 108.70/78.82 Complex Obligation (AND) 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (368) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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)))) 108.70/78.82 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))))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (369) TransformationProof (EQUIVALENT) 108.70/78.82 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]: 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (370) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 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))))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (371) TransformationProof (EQUIVALENT) 108.70/78.82 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]: 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (372) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 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))))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (373) TransformationProof (EQUIVALENT) 108.70/78.82 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]: 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (374) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 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))))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (375) TransformationProof (EQUIVALENT) 108.70/78.82 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]: 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (376) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 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))))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (377) QDPOrderProof (EQUIVALENT) 108.70/78.82 We use the reduction pair processor [LPAR04,JAR06]. 108.70/78.82 108.70/78.82 108.70/78.82 The following pairs can be oriented strictly and are deleted. 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 The remaining pairs can at least be oriented weakly. 108.70/78.82 Used ordering: Polynomial interpretation [POLO]: 108.70/78.82 108.70/78.82 POL(Neg(x_1)) = 2*x_1 108.70/78.82 POL(Pos(x_1)) = 0 108.70/78.82 POL(Succ(x_1)) = 1 + x_1 108.70/78.82 POL(Zero) = 0 108.70/78.82 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 108.70/78.82 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.70/78.82 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 108.70/78.82 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 108.70/78.82 POL(new_primModNatS1(x_1, x_2)) = x_1 108.70/78.82 108.70/78.82 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (378) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (379) DependencyGraphProof (EQUIVALENT) 108.70/78.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (380) 108.70/78.82 TRUE 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (381) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 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))))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (382) QDPOrderProof (EQUIVALENT) 108.70/78.82 We use the reduction pair processor [LPAR04,JAR06]. 108.70/78.82 108.70/78.82 108.70/78.82 The following pairs can be oriented strictly and are deleted. 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 The remaining pairs can at least be oriented weakly. 108.70/78.82 Used ordering: Polynomial interpretation [POLO]: 108.70/78.82 108.70/78.82 POL(Neg(x_1)) = 0 108.70/78.82 POL(Pos(x_1)) = 2*x_1 108.70/78.82 POL(Succ(x_1)) = 1 + x_1 108.70/78.82 POL(Zero) = 0 108.70/78.82 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 108.70/78.82 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.70/78.82 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 108.70/78.82 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 108.70/78.82 POL(new_primModNatS1(x_1, x_2)) = x_1 108.70/78.82 108.70/78.82 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (383) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (384) DependencyGraphProof (EQUIVALENT) 108.70/78.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (385) 108.70/78.82 TRUE 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (386) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))) 108.70/78.82 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))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (387) InductionCalculusProof (EQUIVALENT) 108.70/78.82 Note that final constraints are written in bold face. 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 *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: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (4) using rule (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 *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: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (4) using rule (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 108.70/78.82 108.70/78.82 (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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 To summarize, we get the following constraints P__>=_ for the following pairs. 108.70/78.82 108.70/78.82 *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))) 108.70/78.82 108.70/78.82 *(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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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)))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 *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))) 108.70/78.82 108.70/78.82 *(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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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)))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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)))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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))))) 108.70/78.82 108.70/78.82 108.70/78.82 *(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)))) 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 108.70/78.82 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. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (388) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 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))) 108.70/78.82 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))) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (389) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.82 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.82 new_quot2(vuz33, vuz40, vuz300, vuz34) -> new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.82 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.82 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.82 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.82 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.82 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.82 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.82 new_primMinusNatS2 -> Zero 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_gcd22(Zero, Zero) -> new_error 108.70/78.82 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.82 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.82 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.82 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.82 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.82 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.82 new_abs0(Zero) -> Neg(Zero) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.82 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.82 new_gcd21(Zero, Zero) -> new_error 108.70/78.82 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.82 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.82 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.82 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.82 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.82 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.82 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_error -> error([]) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.82 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.82 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.82 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.82 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.82 new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) 108.70/78.82 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.82 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.82 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.82 new_abs1(Zero) -> Pos(Zero) 108.70/78.82 new_gcd23(Zero, Zero) -> new_error 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.82 new_primDivNatS02(x0, x1) 108.70/78.82 new_primPlusNat0(Succ(x0), x1) 108.70/78.82 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.82 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Zero) 108.70/78.82 new_primPlusNat1(Succ(x0), Zero) 108.70/78.82 new_primQuotInt(x0, Neg(Zero)) 108.70/78.82 new_abs(x0) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_reduce2D(x0, x1) 108.70/78.82 new_gcd20(Zero, x0, Zero) 108.70/78.82 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt(x0, Pos(Zero)) 108.70/78.82 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.82 new_gcd23(Zero, Succ(x0)) 108.70/78.82 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.82 new_abs0(Zero) 108.70/78.82 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_gcd23(Zero, Zero) 108.70/78.82 new_primMulNat0(Zero, Zero) 108.70/78.82 new_primMulNat0(Succ(x0), Zero) 108.70/78.82 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.82 new_primPlusNat1(Zero, Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primRemInt(Neg(x0), x1) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS1(x0) 108.70/78.82 new_gcd22(Zero, Succ(x0)) 108.70/78.82 new_abs1(Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.82 new_primRemInt0(Neg(x0), x1) 108.70/78.82 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_reduce2D2(x0, x1) 108.70/78.82 new_gcd22(Succ(x0), x1) 108.70/78.82 new_absReal10(x0) 108.70/78.82 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Succ(x0)) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primMinusNatS2 108.70/78.82 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.82 new_primMulNat0(Zero, Succ(x0)) 108.70/78.82 new_primRemInt0(Pos(x0), x1) 108.70/78.82 new_reduce2D1(x0, x1) 108.70/78.82 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primPlusNat0(Zero, x0) 108.70/78.82 new_error 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primDivNatS1(Zero, x0) 108.70/78.82 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd21(Succ(x0), x1) 108.70/78.82 new_reduce2D0(x0, x1) 108.70/78.82 new_quot0(x0, x1, x2, x3) 108.70/78.82 new_gcd20(Succ(x0), x1, x2) 108.70/78.82 new_primRemInt(Pos(x0), x1) 108.70/78.82 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.82 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.82 new_absReal1(x0) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_quot2(x0, x1, x2, x3) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_gcd22(Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_abs0(Succ(x0)) 108.70/78.82 new_abs1(Succ(x0)) 108.70/78.82 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd0(x0, x1) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 new_gcd23(Succ(x0), x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (390) TransformationProof (EQUIVALENT) 108.70/78.82 By rewriting [LPAR04] the rule new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) at position [1] we obtained the following new rules [LPAR04]: 108.70/78.82 108.70/78.82 (new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31),new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31)) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (391) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.82 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) 108.70/78.82 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.82 new_quot2(vuz33, vuz40, vuz300, vuz34) -> new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.82 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.82 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.82 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.82 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.82 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.82 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.82 new_primMinusNatS2 -> Zero 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_gcd22(Zero, Zero) -> new_error 108.70/78.82 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.82 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.82 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.82 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.82 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.82 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.82 new_abs0(Zero) -> Neg(Zero) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.82 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.82 new_gcd21(Zero, Zero) -> new_error 108.70/78.82 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.82 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.82 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.82 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.82 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.82 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.82 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_error -> error([]) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.82 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.82 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.82 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.82 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.82 new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) 108.70/78.82 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.82 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.82 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.82 new_abs1(Zero) -> Pos(Zero) 108.70/78.82 new_gcd23(Zero, Zero) -> new_error 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.82 new_primDivNatS02(x0, x1) 108.70/78.82 new_primPlusNat0(Succ(x0), x1) 108.70/78.82 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.82 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Zero) 108.70/78.82 new_primPlusNat1(Succ(x0), Zero) 108.70/78.82 new_primQuotInt(x0, Neg(Zero)) 108.70/78.82 new_abs(x0) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_reduce2D(x0, x1) 108.70/78.82 new_gcd20(Zero, x0, Zero) 108.70/78.82 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt(x0, Pos(Zero)) 108.70/78.82 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.82 new_gcd23(Zero, Succ(x0)) 108.70/78.82 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.82 new_abs0(Zero) 108.70/78.82 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_gcd23(Zero, Zero) 108.70/78.82 new_primMulNat0(Zero, Zero) 108.70/78.82 new_primMulNat0(Succ(x0), Zero) 108.70/78.82 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.82 new_primPlusNat1(Zero, Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primRemInt(Neg(x0), x1) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS1(x0) 108.70/78.82 new_gcd22(Zero, Succ(x0)) 108.70/78.82 new_abs1(Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.82 new_primRemInt0(Neg(x0), x1) 108.70/78.82 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_reduce2D2(x0, x1) 108.70/78.82 new_gcd22(Succ(x0), x1) 108.70/78.82 new_absReal10(x0) 108.70/78.82 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Succ(x0)) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primMinusNatS2 108.70/78.82 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.82 new_primMulNat0(Zero, Succ(x0)) 108.70/78.82 new_primRemInt0(Pos(x0), x1) 108.70/78.82 new_reduce2D1(x0, x1) 108.70/78.82 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primPlusNat0(Zero, x0) 108.70/78.82 new_error 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primDivNatS1(Zero, x0) 108.70/78.82 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd21(Succ(x0), x1) 108.70/78.82 new_reduce2D0(x0, x1) 108.70/78.82 new_quot0(x0, x1, x2, x3) 108.70/78.82 new_gcd20(Succ(x0), x1, x2) 108.70/78.82 new_primRemInt(Pos(x0), x1) 108.70/78.82 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.82 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.82 new_absReal1(x0) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_quot2(x0, x1, x2, x3) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_gcd22(Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_abs0(Succ(x0)) 108.70/78.82 new_abs1(Succ(x0)) 108.70/78.82 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd0(x0, x1) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 new_gcd23(Succ(x0), x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (392) TransformationProof (EQUIVALENT) 108.70/78.82 By rewriting [LPAR04] the rule new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) at position [1] we obtained the following new rules [LPAR04]: 108.70/78.82 108.70/78.82 (new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31),new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31)) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (393) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.82 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) 108.70/78.82 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.82 new_quot2(vuz33, vuz40, vuz300, vuz34) -> new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.82 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.82 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.82 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.82 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.82 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.82 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.82 new_primMinusNatS2 -> Zero 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_gcd22(Zero, Zero) -> new_error 108.70/78.82 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.82 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.82 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.82 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.82 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.82 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.82 new_abs0(Zero) -> Neg(Zero) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.82 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.82 new_gcd21(Zero, Zero) -> new_error 108.70/78.82 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.82 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.82 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.82 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.82 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.82 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.82 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_error -> error([]) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.82 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.82 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.82 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.82 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.82 new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) 108.70/78.82 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.82 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.82 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.82 new_abs1(Zero) -> Pos(Zero) 108.70/78.82 new_gcd23(Zero, Zero) -> new_error 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.82 new_primDivNatS02(x0, x1) 108.70/78.82 new_primPlusNat0(Succ(x0), x1) 108.70/78.82 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.82 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Zero) 108.70/78.82 new_primPlusNat1(Succ(x0), Zero) 108.70/78.82 new_primQuotInt(x0, Neg(Zero)) 108.70/78.82 new_abs(x0) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_reduce2D(x0, x1) 108.70/78.82 new_gcd20(Zero, x0, Zero) 108.70/78.82 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt(x0, Pos(Zero)) 108.70/78.82 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.82 new_gcd23(Zero, Succ(x0)) 108.70/78.82 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.82 new_abs0(Zero) 108.70/78.82 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_gcd23(Zero, Zero) 108.70/78.82 new_primMulNat0(Zero, Zero) 108.70/78.82 new_primMulNat0(Succ(x0), Zero) 108.70/78.82 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.82 new_primPlusNat1(Zero, Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primRemInt(Neg(x0), x1) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS1(x0) 108.70/78.82 new_gcd22(Zero, Succ(x0)) 108.70/78.82 new_abs1(Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.82 new_primRemInt0(Neg(x0), x1) 108.70/78.82 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_reduce2D2(x0, x1) 108.70/78.82 new_gcd22(Succ(x0), x1) 108.70/78.82 new_absReal10(x0) 108.70/78.82 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Succ(x0)) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primMinusNatS2 108.70/78.82 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.82 new_primMulNat0(Zero, Succ(x0)) 108.70/78.82 new_primRemInt0(Pos(x0), x1) 108.70/78.82 new_reduce2D1(x0, x1) 108.70/78.82 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primPlusNat0(Zero, x0) 108.70/78.82 new_error 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primDivNatS1(Zero, x0) 108.70/78.82 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd21(Succ(x0), x1) 108.70/78.82 new_reduce2D0(x0, x1) 108.70/78.82 new_quot0(x0, x1, x2, x3) 108.70/78.82 new_gcd20(Succ(x0), x1, x2) 108.70/78.82 new_primRemInt(Pos(x0), x1) 108.70/78.82 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.82 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.82 new_absReal1(x0) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_quot2(x0, x1, x2, x3) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_gcd22(Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_abs0(Succ(x0)) 108.70/78.82 new_abs1(Succ(x0)) 108.70/78.82 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd0(x0, x1) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 new_gcd23(Succ(x0), x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (394) TransformationProof (EQUIVALENT) 108.70/78.82 By rewriting [LPAR04] the rule new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_quot2(vuz33, vuz40, vuz300, vuz34), vuz31) at position [3] we obtained the following new rules [LPAR04]: 108.70/78.82 108.70/78.82 (new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31),new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31)) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (395) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.82 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) 108.70/78.82 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.82 new_quot2(vuz33, vuz40, vuz300, vuz34) -> new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.82 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.82 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.82 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.82 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.82 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.82 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.82 new_primMinusNatS2 -> Zero 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_gcd22(Zero, Zero) -> new_error 108.70/78.82 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.82 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.82 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.82 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.82 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.82 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.82 new_abs0(Zero) -> Neg(Zero) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.82 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.82 new_gcd21(Zero, Zero) -> new_error 108.70/78.82 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.82 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.82 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.82 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.82 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.82 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.82 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_error -> error([]) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.82 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.82 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.82 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.82 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.82 new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) 108.70/78.82 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.82 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.82 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.82 new_abs1(Zero) -> Pos(Zero) 108.70/78.82 new_gcd23(Zero, Zero) -> new_error 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.82 new_primDivNatS02(x0, x1) 108.70/78.82 new_primPlusNat0(Succ(x0), x1) 108.70/78.82 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.82 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Zero) 108.70/78.82 new_primPlusNat1(Succ(x0), Zero) 108.70/78.82 new_primQuotInt(x0, Neg(Zero)) 108.70/78.82 new_abs(x0) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_reduce2D(x0, x1) 108.70/78.82 new_gcd20(Zero, x0, Zero) 108.70/78.82 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt(x0, Pos(Zero)) 108.70/78.82 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.82 new_gcd23(Zero, Succ(x0)) 108.70/78.82 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.82 new_abs0(Zero) 108.70/78.82 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_gcd23(Zero, Zero) 108.70/78.82 new_primMulNat0(Zero, Zero) 108.70/78.82 new_primMulNat0(Succ(x0), Zero) 108.70/78.82 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.82 new_primPlusNat1(Zero, Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primRemInt(Neg(x0), x1) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS1(x0) 108.70/78.82 new_gcd22(Zero, Succ(x0)) 108.70/78.82 new_abs1(Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.82 new_primRemInt0(Neg(x0), x1) 108.70/78.82 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_reduce2D2(x0, x1) 108.70/78.82 new_gcd22(Succ(x0), x1) 108.70/78.82 new_absReal10(x0) 108.70/78.82 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Succ(x0)) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primMinusNatS2 108.70/78.82 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.82 new_primMulNat0(Zero, Succ(x0)) 108.70/78.82 new_primRemInt0(Pos(x0), x1) 108.70/78.82 new_reduce2D1(x0, x1) 108.70/78.82 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primPlusNat0(Zero, x0) 108.70/78.82 new_error 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primDivNatS1(Zero, x0) 108.70/78.82 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd21(Succ(x0), x1) 108.70/78.82 new_reduce2D0(x0, x1) 108.70/78.82 new_quot0(x0, x1, x2, x3) 108.70/78.82 new_gcd20(Succ(x0), x1, x2) 108.70/78.82 new_primRemInt(Pos(x0), x1) 108.70/78.82 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.82 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.82 new_absReal1(x0) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_quot2(x0, x1, x2, x3) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_gcd22(Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_abs0(Succ(x0)) 108.70/78.82 new_abs1(Succ(x0)) 108.70/78.82 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd0(x0, x1) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 new_gcd23(Succ(x0), x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (396) UsableRulesProof (EQUIVALENT) 108.70/78.82 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. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (397) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.82 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.82 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) 108.70/78.82 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.82 108.70/78.82 The TRS R consists of the following rules: 108.70/78.82 108.70/78.82 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.82 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.82 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.82 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.82 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.82 new_error -> error([]) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.82 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.82 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.82 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.82 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.82 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.82 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.82 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.82 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.82 new_primMinusNatS2 -> Zero 108.70/78.82 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.82 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.82 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.82 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.82 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.82 new_gcd21(Zero, Zero) -> new_error 108.70/78.82 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.82 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.82 new_abs0(Zero) -> Neg(Zero) 108.70/78.82 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.82 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.82 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.82 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.82 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.82 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.82 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.82 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.82 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.82 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.82 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.82 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.82 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.82 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.82 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.82 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.82 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.82 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.82 new_abs1(Zero) -> Pos(Zero) 108.70/78.82 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.82 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.82 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.82 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.82 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.82 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.82 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.82 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.82 new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) 108.70/78.82 new_gcd22(Zero, Zero) -> new_error 108.70/78.82 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.82 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.82 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.82 new_gcd23(Zero, Zero) -> new_error 108.70/78.82 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.82 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.82 108.70/78.82 The set Q consists of the following terms: 108.70/78.82 108.70/78.82 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.82 new_primDivNatS02(x0, x1) 108.70/78.82 new_primPlusNat0(Succ(x0), x1) 108.70/78.82 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Zero, x0) 108.70/78.82 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.82 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Zero) 108.70/78.82 new_primPlusNat1(Succ(x0), Zero) 108.70/78.82 new_primQuotInt(x0, Neg(Zero)) 108.70/78.82 new_abs(x0) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_reduce2D(x0, x1) 108.70/78.82 new_gcd20(Zero, x0, Zero) 108.70/78.82 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt(x0, Pos(Zero)) 108.70/78.82 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.82 new_gcd23(Zero, Succ(x0)) 108.70/78.82 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.82 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.82 new_abs0(Zero) 108.70/78.82 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.82 new_gcd23(Zero, Zero) 108.70/78.82 new_primMulNat0(Zero, Zero) 108.70/78.82 new_primMulNat0(Succ(x0), Zero) 108.70/78.82 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.82 new_primPlusNat1(Zero, Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_primRemInt(Neg(x0), x1) 108.70/78.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.82 new_primMinusNatS1(x0) 108.70/78.82 new_gcd22(Zero, Succ(x0)) 108.70/78.82 new_abs1(Zero) 108.70/78.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.82 new_primRemInt0(Neg(x0), x1) 108.70/78.82 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.82 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_reduce2D2(x0, x1) 108.70/78.82 new_gcd22(Succ(x0), x1) 108.70/78.82 new_absReal10(x0) 108.70/78.82 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.82 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.82 new_gcd21(Zero, Succ(x0)) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.82 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_primMinusNatS2 108.70/78.82 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.82 new_primMulNat0(Zero, Succ(x0)) 108.70/78.82 new_primRemInt0(Pos(x0), x1) 108.70/78.82 new_reduce2D1(x0, x1) 108.70/78.82 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.82 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.82 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.82 new_primPlusNat0(Zero, x0) 108.70/78.82 new_error 108.70/78.82 new_primModNatS1(Succ(Zero), Zero) 108.70/78.82 new_primDivNatS1(Zero, x0) 108.70/78.82 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.82 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.82 new_gcd21(Succ(x0), x1) 108.70/78.82 new_reduce2D0(x0, x1) 108.70/78.82 new_quot0(x0, x1, x2, x3) 108.70/78.82 new_gcd20(Succ(x0), x1, x2) 108.70/78.82 new_primRemInt(Pos(x0), x1) 108.70/78.82 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.82 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.82 new_absReal1(x0) 108.70/78.82 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.82 new_quot2(x0, x1, x2, x3) 108.70/78.82 new_primMinusNatS0(Zero, Zero) 108.70/78.82 new_gcd22(Zero, Zero) 108.70/78.82 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.82 new_abs0(Succ(x0)) 108.70/78.82 new_abs1(Succ(x0)) 108.70/78.82 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.82 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.82 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.82 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.82 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.82 new_gcd0(x0, x1) 108.70/78.82 new_primModNatS02(x0, x1) 108.70/78.82 new_gcd23(Succ(x0), x1) 108.70/78.82 108.70/78.82 We have to consider all minimal (P,Q,R)-chains. 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (398) QReductionProof (EQUIVALENT) 108.70/78.82 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.70/78.82 108.70/78.82 new_quot2(x0, x1, x2, x3) 108.70/78.82 108.70/78.82 108.70/78.82 ---------------------------------------- 108.70/78.82 108.70/78.82 (399) 108.70/78.82 Obligation: 108.70/78.82 Q DP problem: 108.70/78.82 The TRS P consists of the following rules: 108.70/78.82 108.70/78.82 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) 108.70/78.83 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.83 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.83 new_error -> error([]) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.83 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.83 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.83 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 new_primMinusNatS2 -> Zero 108.70/78.83 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.83 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.83 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.83 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.83 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.83 new_gcd21(Zero, Zero) -> new_error 108.70/78.83 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.83 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.83 new_abs0(Zero) -> Neg(Zero) 108.70/78.83 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.83 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.83 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.83 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.83 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.83 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.83 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.83 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.83 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.83 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.83 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.83 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.83 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.83 new_abs1(Zero) -> Pos(Zero) 108.70/78.83 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.83 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.83 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.83 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.83 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.83 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) 108.70/78.83 new_gcd22(Zero, Zero) -> new_error 108.70/78.83 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.83 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.83 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Zero, Zero) -> new_error 108.70/78.83 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.83 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.83 new_primDivNatS02(x0, x1) 108.70/78.83 new_primPlusNat0(Succ(x0), x1) 108.70/78.83 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Zero, x0) 108.70/78.83 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.83 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Zero) 108.70/78.83 new_primPlusNat1(Succ(x0), Zero) 108.70/78.83 new_primQuotInt(x0, Neg(Zero)) 108.70/78.83 new_abs(x0) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_reduce2D(x0, x1) 108.70/78.83 new_gcd20(Zero, x0, Zero) 108.70/78.83 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt(x0, Pos(Zero)) 108.70/78.83 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.83 new_gcd23(Zero, Succ(x0)) 108.70/78.83 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.83 new_abs0(Zero) 108.70/78.83 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_gcd23(Zero, Zero) 108.70/78.83 new_primMulNat0(Zero, Zero) 108.70/78.83 new_primMulNat0(Succ(x0), Zero) 108.70/78.83 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.83 new_primPlusNat1(Zero, Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_primRemInt(Neg(x0), x1) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS1(x0) 108.70/78.83 new_gcd22(Zero, Succ(x0)) 108.70/78.83 new_abs1(Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.83 new_primRemInt0(Neg(x0), x1) 108.70/78.83 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_reduce2D2(x0, x1) 108.70/78.83 new_gcd22(Succ(x0), x1) 108.70/78.83 new_absReal10(x0) 108.70/78.83 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Succ(x0)) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_primMinusNatS2 108.70/78.83 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.83 new_primMulNat0(Zero, Succ(x0)) 108.70/78.83 new_primRemInt0(Pos(x0), x1) 108.70/78.83 new_reduce2D1(x0, x1) 108.70/78.83 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_primPlusNat0(Zero, x0) 108.70/78.83 new_error 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) 108.70/78.83 new_primDivNatS1(Zero, x0) 108.70/78.83 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd21(Succ(x0), x1) 108.70/78.83 new_reduce2D0(x0, x1) 108.70/78.83 new_quot0(x0, x1, x2, x3) 108.70/78.83 new_gcd20(Succ(x0), x1, x2) 108.70/78.83 new_primRemInt(Pos(x0), x1) 108.70/78.83 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.83 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.83 new_absReal1(x0) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_gcd22(Zero, Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_abs0(Succ(x0)) 108.70/78.83 new_abs1(Succ(x0)) 108.70/78.83 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd0(x0, x1) 108.70/78.83 new_primModNatS02(x0, x1) 108.70/78.83 new_gcd23(Succ(x0), x1) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (400) TransformationProof (EQUIVALENT) 108.70/78.83 By rewriting [LPAR04] the rule new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_quot0(vuz27, vuz40, vuz300, vuz28), vuz31) at position [3] we obtained the following new rules [LPAR04]: 108.70/78.83 108.70/78.83 (new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31),new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31)) 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (401) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.83 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.83 new_error -> error([]) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.83 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.83 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.83 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 new_primMinusNatS2 -> Zero 108.70/78.83 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.83 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.83 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.83 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.83 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.83 new_gcd21(Zero, Zero) -> new_error 108.70/78.83 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.83 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.83 new_abs0(Zero) -> Neg(Zero) 108.70/78.83 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.83 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.83 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.83 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.83 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.83 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.83 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.83 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.83 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.83 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.83 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.83 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.83 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.83 new_abs1(Zero) -> Pos(Zero) 108.70/78.83 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.83 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.83 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.83 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.83 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.83 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_quot0(vuz27, vuz40, vuz300, vuz28) -> new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)) 108.70/78.83 new_gcd22(Zero, Zero) -> new_error 108.70/78.83 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.83 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.83 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Zero, Zero) -> new_error 108.70/78.83 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.83 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.83 new_primDivNatS02(x0, x1) 108.70/78.83 new_primPlusNat0(Succ(x0), x1) 108.70/78.83 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Zero, x0) 108.70/78.83 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.83 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Zero) 108.70/78.83 new_primPlusNat1(Succ(x0), Zero) 108.70/78.83 new_primQuotInt(x0, Neg(Zero)) 108.70/78.83 new_abs(x0) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_reduce2D(x0, x1) 108.70/78.83 new_gcd20(Zero, x0, Zero) 108.70/78.83 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt(x0, Pos(Zero)) 108.70/78.83 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.83 new_gcd23(Zero, Succ(x0)) 108.70/78.83 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.83 new_abs0(Zero) 108.70/78.83 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_gcd23(Zero, Zero) 108.70/78.83 new_primMulNat0(Zero, Zero) 108.70/78.83 new_primMulNat0(Succ(x0), Zero) 108.70/78.83 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.83 new_primPlusNat1(Zero, Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_primRemInt(Neg(x0), x1) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS1(x0) 108.70/78.83 new_gcd22(Zero, Succ(x0)) 108.70/78.83 new_abs1(Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.83 new_primRemInt0(Neg(x0), x1) 108.70/78.83 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_reduce2D2(x0, x1) 108.70/78.83 new_gcd22(Succ(x0), x1) 108.70/78.83 new_absReal10(x0) 108.70/78.83 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Succ(x0)) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_primMinusNatS2 108.70/78.83 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.83 new_primMulNat0(Zero, Succ(x0)) 108.70/78.83 new_primRemInt0(Pos(x0), x1) 108.70/78.83 new_reduce2D1(x0, x1) 108.70/78.83 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_primPlusNat0(Zero, x0) 108.70/78.83 new_error 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) 108.70/78.83 new_primDivNatS1(Zero, x0) 108.70/78.83 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd21(Succ(x0), x1) 108.70/78.83 new_reduce2D0(x0, x1) 108.70/78.83 new_quot0(x0, x1, x2, x3) 108.70/78.83 new_gcd20(Succ(x0), x1, x2) 108.70/78.83 new_primRemInt(Pos(x0), x1) 108.70/78.83 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.83 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.83 new_absReal1(x0) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_gcd22(Zero, Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_abs0(Succ(x0)) 108.70/78.83 new_abs1(Succ(x0)) 108.70/78.83 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd0(x0, x1) 108.70/78.83 new_primModNatS02(x0, x1) 108.70/78.83 new_gcd23(Succ(x0), x1) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (402) UsableRulesProof (EQUIVALENT) 108.70/78.83 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. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (403) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.83 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.83 new_error -> error([]) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.83 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.83 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.83 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 new_primMinusNatS2 -> Zero 108.70/78.83 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.83 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.83 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.83 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.83 new_gcd22(Zero, Zero) -> new_error 108.70/78.83 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.83 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_abs1(Zero) -> Pos(Zero) 108.70/78.83 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.83 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.83 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.83 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.83 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.83 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.83 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.83 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.83 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.83 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Zero, Zero) -> new_error 108.70/78.83 new_abs0(Zero) -> Neg(Zero) 108.70/78.83 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.83 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.83 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.83 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.83 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.83 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.83 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.83 new_gcd21(Zero, Zero) -> new_error 108.70/78.83 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.83 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.83 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.83 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.83 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.83 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.83 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.83 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.83 new_primDivNatS02(x0, x1) 108.70/78.83 new_primPlusNat0(Succ(x0), x1) 108.70/78.83 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Zero, x0) 108.70/78.83 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.83 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Zero) 108.70/78.83 new_primPlusNat1(Succ(x0), Zero) 108.70/78.83 new_primQuotInt(x0, Neg(Zero)) 108.70/78.83 new_abs(x0) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_reduce2D(x0, x1) 108.70/78.83 new_gcd20(Zero, x0, Zero) 108.70/78.83 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt(x0, Pos(Zero)) 108.70/78.83 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.83 new_gcd23(Zero, Succ(x0)) 108.70/78.83 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.83 new_abs0(Zero) 108.70/78.83 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_gcd23(Zero, Zero) 108.70/78.83 new_primMulNat0(Zero, Zero) 108.70/78.83 new_primMulNat0(Succ(x0), Zero) 108.70/78.83 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.83 new_primPlusNat1(Zero, Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_primRemInt(Neg(x0), x1) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS1(x0) 108.70/78.83 new_gcd22(Zero, Succ(x0)) 108.70/78.83 new_abs1(Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.83 new_primRemInt0(Neg(x0), x1) 108.70/78.83 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_reduce2D2(x0, x1) 108.70/78.83 new_gcd22(Succ(x0), x1) 108.70/78.83 new_absReal10(x0) 108.70/78.83 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Succ(x0)) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_primMinusNatS2 108.70/78.83 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.83 new_primMulNat0(Zero, Succ(x0)) 108.70/78.83 new_primRemInt0(Pos(x0), x1) 108.70/78.83 new_reduce2D1(x0, x1) 108.70/78.83 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_primPlusNat0(Zero, x0) 108.70/78.83 new_error 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) 108.70/78.83 new_primDivNatS1(Zero, x0) 108.70/78.83 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd21(Succ(x0), x1) 108.70/78.83 new_reduce2D0(x0, x1) 108.70/78.83 new_quot0(x0, x1, x2, x3) 108.70/78.83 new_gcd20(Succ(x0), x1, x2) 108.70/78.83 new_primRemInt(Pos(x0), x1) 108.70/78.83 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.83 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.83 new_absReal1(x0) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_gcd22(Zero, Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_abs0(Succ(x0)) 108.70/78.83 new_abs1(Succ(x0)) 108.70/78.83 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd0(x0, x1) 108.70/78.83 new_primModNatS02(x0, x1) 108.70/78.83 new_gcd23(Succ(x0), x1) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (404) QReductionProof (EQUIVALENT) 108.70/78.83 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 108.70/78.83 108.70/78.83 new_quot0(x0, x1, x2, x3) 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (405) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.83 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.83 new_error -> error([]) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.83 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.83 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.83 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 new_primMinusNatS2 -> Zero 108.70/78.83 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.83 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.83 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.83 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.83 new_gcd22(Zero, Zero) -> new_error 108.70/78.83 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.83 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_abs1(Zero) -> Pos(Zero) 108.70/78.83 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.83 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.83 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.83 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.83 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.83 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.83 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.83 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.83 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.83 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Zero, Zero) -> new_error 108.70/78.83 new_abs0(Zero) -> Neg(Zero) 108.70/78.83 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.83 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.83 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.83 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.83 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.83 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.83 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.83 new_gcd21(Zero, Zero) -> new_error 108.70/78.83 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.83 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.83 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.83 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.83 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.83 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.83 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.83 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.83 new_primDivNatS02(x0, x1) 108.70/78.83 new_primPlusNat0(Succ(x0), x1) 108.70/78.83 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Zero, x0) 108.70/78.83 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.83 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Zero) 108.70/78.83 new_primPlusNat1(Succ(x0), Zero) 108.70/78.83 new_primQuotInt(x0, Neg(Zero)) 108.70/78.83 new_abs(x0) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_reduce2D(x0, x1) 108.70/78.83 new_gcd20(Zero, x0, Zero) 108.70/78.83 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt(x0, Pos(Zero)) 108.70/78.83 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.83 new_gcd23(Zero, Succ(x0)) 108.70/78.83 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.83 new_abs0(Zero) 108.70/78.83 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_gcd23(Zero, Zero) 108.70/78.83 new_primMulNat0(Zero, Zero) 108.70/78.83 new_primMulNat0(Succ(x0), Zero) 108.70/78.83 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.83 new_primPlusNat1(Zero, Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_primRemInt(Neg(x0), x1) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS1(x0) 108.70/78.83 new_gcd22(Zero, Succ(x0)) 108.70/78.83 new_abs1(Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.83 new_primRemInt0(Neg(x0), x1) 108.70/78.83 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_reduce2D2(x0, x1) 108.70/78.83 new_gcd22(Succ(x0), x1) 108.70/78.83 new_absReal10(x0) 108.70/78.83 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Succ(x0)) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_primMinusNatS2 108.70/78.83 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.83 new_primMulNat0(Zero, Succ(x0)) 108.70/78.83 new_primRemInt0(Pos(x0), x1) 108.70/78.83 new_reduce2D1(x0, x1) 108.70/78.83 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_primPlusNat0(Zero, x0) 108.70/78.83 new_error 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) 108.70/78.83 new_primDivNatS1(Zero, x0) 108.70/78.83 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd21(Succ(x0), x1) 108.70/78.83 new_reduce2D0(x0, x1) 108.70/78.83 new_gcd20(Succ(x0), x1, x2) 108.70/78.83 new_primRemInt(Pos(x0), x1) 108.70/78.83 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.83 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.83 new_absReal1(x0) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_gcd22(Zero, Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_abs0(Succ(x0)) 108.70/78.83 new_abs1(Succ(x0)) 108.70/78.83 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd0(x0, x1) 108.70/78.83 new_primModNatS02(x0, x1) 108.70/78.83 new_gcd23(Succ(x0), x1) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (406) TransformationProof (EQUIVALENT) 108.70/78.83 By instantiating [LPAR04] the rule new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) we obtained the following new rules [LPAR04]: 108.70/78.83 108.70/78.83 (new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5),new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5)) 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (407) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) 108.70/78.83 new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.83 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.83 new_error -> error([]) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.83 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.83 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.83 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 new_primMinusNatS2 -> Zero 108.70/78.83 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.83 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.83 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.83 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.83 new_gcd22(Zero, Zero) -> new_error 108.70/78.83 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.83 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_abs1(Zero) -> Pos(Zero) 108.70/78.83 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.83 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.83 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.83 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.83 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.83 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.83 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.83 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.83 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.83 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Zero, Zero) -> new_error 108.70/78.83 new_abs0(Zero) -> Neg(Zero) 108.70/78.83 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.83 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.83 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.83 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.83 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.83 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.83 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.83 new_gcd21(Zero, Zero) -> new_error 108.70/78.83 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.83 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.83 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.83 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.83 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.83 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.83 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.83 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.83 new_primDivNatS02(x0, x1) 108.70/78.83 new_primPlusNat0(Succ(x0), x1) 108.70/78.83 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Zero, x0) 108.70/78.83 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.83 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Zero) 108.70/78.83 new_primPlusNat1(Succ(x0), Zero) 108.70/78.83 new_primQuotInt(x0, Neg(Zero)) 108.70/78.83 new_abs(x0) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_reduce2D(x0, x1) 108.70/78.83 new_gcd20(Zero, x0, Zero) 108.70/78.83 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt(x0, Pos(Zero)) 108.70/78.83 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.83 new_gcd23(Zero, Succ(x0)) 108.70/78.83 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.83 new_abs0(Zero) 108.70/78.83 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_gcd23(Zero, Zero) 108.70/78.83 new_primMulNat0(Zero, Zero) 108.70/78.83 new_primMulNat0(Succ(x0), Zero) 108.70/78.83 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.83 new_primPlusNat1(Zero, Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_primRemInt(Neg(x0), x1) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS1(x0) 108.70/78.83 new_gcd22(Zero, Succ(x0)) 108.70/78.83 new_abs1(Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.83 new_primRemInt0(Neg(x0), x1) 108.70/78.83 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_reduce2D2(x0, x1) 108.70/78.83 new_gcd22(Succ(x0), x1) 108.70/78.83 new_absReal10(x0) 108.70/78.83 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Succ(x0)) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_primMinusNatS2 108.70/78.83 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.83 new_primMulNat0(Zero, Succ(x0)) 108.70/78.83 new_primRemInt0(Pos(x0), x1) 108.70/78.83 new_reduce2D1(x0, x1) 108.70/78.83 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_primPlusNat0(Zero, x0) 108.70/78.83 new_error 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) 108.70/78.83 new_primDivNatS1(Zero, x0) 108.70/78.83 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd21(Succ(x0), x1) 108.70/78.83 new_reduce2D0(x0, x1) 108.70/78.83 new_gcd20(Succ(x0), x1, x2) 108.70/78.83 new_primRemInt(Pos(x0), x1) 108.70/78.83 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.83 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.83 new_absReal1(x0) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_gcd22(Zero, Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_abs0(Succ(x0)) 108.70/78.83 new_abs1(Succ(x0)) 108.70/78.83 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd0(x0, x1) 108.70/78.83 new_primModNatS02(x0, x1) 108.70/78.83 new_gcd23(Succ(x0), x1) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (408) TransformationProof (EQUIVALENT) 108.70/78.83 By instantiating [LPAR04] the rule new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) we obtained the following new rules [LPAR04]: 108.70/78.83 108.70/78.83 (new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5),new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5)) 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (409) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) 108.70/78.83 new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.83 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.83 new_error -> error([]) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.83 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.83 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.83 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 new_primMinusNatS2 -> Zero 108.70/78.83 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.83 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.83 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.83 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.83 new_gcd22(Zero, Zero) -> new_error 108.70/78.83 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.83 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_abs1(Zero) -> Pos(Zero) 108.70/78.83 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.83 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.83 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.83 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.83 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.83 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.83 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.83 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.83 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.83 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Zero, Zero) -> new_error 108.70/78.83 new_abs0(Zero) -> Neg(Zero) 108.70/78.83 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.83 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.83 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.83 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.83 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.83 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.83 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.83 new_gcd21(Zero, Zero) -> new_error 108.70/78.83 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.83 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.83 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.83 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.83 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.83 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.83 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.83 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.83 new_primDivNatS02(x0, x1) 108.70/78.83 new_primPlusNat0(Succ(x0), x1) 108.70/78.83 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Zero, x0) 108.70/78.83 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.83 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Zero) 108.70/78.83 new_primPlusNat1(Succ(x0), Zero) 108.70/78.83 new_primQuotInt(x0, Neg(Zero)) 108.70/78.83 new_abs(x0) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_reduce2D(x0, x1) 108.70/78.83 new_gcd20(Zero, x0, Zero) 108.70/78.83 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt(x0, Pos(Zero)) 108.70/78.83 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.83 new_gcd23(Zero, Succ(x0)) 108.70/78.83 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.83 new_abs0(Zero) 108.70/78.83 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_gcd23(Zero, Zero) 108.70/78.83 new_primMulNat0(Zero, Zero) 108.70/78.83 new_primMulNat0(Succ(x0), Zero) 108.70/78.83 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.83 new_primPlusNat1(Zero, Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_primRemInt(Neg(x0), x1) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS1(x0) 108.70/78.83 new_gcd22(Zero, Succ(x0)) 108.70/78.83 new_abs1(Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.83 new_primRemInt0(Neg(x0), x1) 108.70/78.83 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_reduce2D2(x0, x1) 108.70/78.83 new_gcd22(Succ(x0), x1) 108.70/78.83 new_absReal10(x0) 108.70/78.83 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Succ(x0)) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_primMinusNatS2 108.70/78.83 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.83 new_primMulNat0(Zero, Succ(x0)) 108.70/78.83 new_primRemInt0(Pos(x0), x1) 108.70/78.83 new_reduce2D1(x0, x1) 108.70/78.83 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_primPlusNat0(Zero, x0) 108.70/78.83 new_error 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) 108.70/78.83 new_primDivNatS1(Zero, x0) 108.70/78.83 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd21(Succ(x0), x1) 108.70/78.83 new_reduce2D0(x0, x1) 108.70/78.83 new_gcd20(Succ(x0), x1, x2) 108.70/78.83 new_primRemInt(Pos(x0), x1) 108.70/78.83 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.83 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.83 new_absReal1(x0) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_gcd22(Zero, Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_abs0(Succ(x0)) 108.70/78.83 new_abs1(Succ(x0)) 108.70/78.83 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd0(x0, x1) 108.70/78.83 new_primModNatS02(x0, x1) 108.70/78.83 new_gcd23(Succ(x0), x1) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (410) TransformationProof (EQUIVALENT) 108.70/78.83 By instantiating [LPAR04] the rule new_seq(:%(vuz40, Pos(vuz410)), :%(vuz300, Neg(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) we obtained the following new rules [LPAR04]: 108.70/78.83 108.70/78.83 (new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5),new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5)) 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (411) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) 108.70/78.83 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) 108.70/78.83 new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.83 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.83 new_error -> error([]) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.83 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.83 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.83 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 new_primMinusNatS2 -> Zero 108.70/78.83 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.83 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.83 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.83 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.83 new_gcd22(Zero, Zero) -> new_error 108.70/78.83 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.83 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_abs1(Zero) -> Pos(Zero) 108.70/78.83 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.83 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.83 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.83 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.83 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.83 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.83 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.83 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.83 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.83 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Zero, Zero) -> new_error 108.70/78.83 new_abs0(Zero) -> Neg(Zero) 108.70/78.83 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.83 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.83 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.83 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.83 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.83 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.83 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.83 new_gcd21(Zero, Zero) -> new_error 108.70/78.83 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.83 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.83 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.83 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.83 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.83 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.83 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.83 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.83 new_primDivNatS02(x0, x1) 108.70/78.83 new_primPlusNat0(Succ(x0), x1) 108.70/78.83 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Zero, x0) 108.70/78.83 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.83 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Zero) 108.70/78.83 new_primPlusNat1(Succ(x0), Zero) 108.70/78.83 new_primQuotInt(x0, Neg(Zero)) 108.70/78.83 new_abs(x0) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_reduce2D(x0, x1) 108.70/78.83 new_gcd20(Zero, x0, Zero) 108.70/78.83 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt(x0, Pos(Zero)) 108.70/78.83 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.83 new_gcd23(Zero, Succ(x0)) 108.70/78.83 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.83 new_abs0(Zero) 108.70/78.83 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_gcd23(Zero, Zero) 108.70/78.83 new_primMulNat0(Zero, Zero) 108.70/78.83 new_primMulNat0(Succ(x0), Zero) 108.70/78.83 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.83 new_primPlusNat1(Zero, Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_primRemInt(Neg(x0), x1) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS1(x0) 108.70/78.83 new_gcd22(Zero, Succ(x0)) 108.70/78.83 new_abs1(Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.83 new_primRemInt0(Neg(x0), x1) 108.70/78.83 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_reduce2D2(x0, x1) 108.70/78.83 new_gcd22(Succ(x0), x1) 108.70/78.83 new_absReal10(x0) 108.70/78.83 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Succ(x0)) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_primMinusNatS2 108.70/78.83 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.83 new_primMulNat0(Zero, Succ(x0)) 108.70/78.83 new_primRemInt0(Pos(x0), x1) 108.70/78.83 new_reduce2D1(x0, x1) 108.70/78.83 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_primPlusNat0(Zero, x0) 108.70/78.83 new_error 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) 108.70/78.83 new_primDivNatS1(Zero, x0) 108.70/78.83 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd21(Succ(x0), x1) 108.70/78.83 new_reduce2D0(x0, x1) 108.70/78.83 new_gcd20(Succ(x0), x1, x2) 108.70/78.83 new_primRemInt(Pos(x0), x1) 108.70/78.83 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.83 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.83 new_absReal1(x0) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_gcd22(Zero, Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_abs0(Succ(x0)) 108.70/78.83 new_abs1(Succ(x0)) 108.70/78.83 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd0(x0, x1) 108.70/78.83 new_primModNatS02(x0, x1) 108.70/78.83 new_gcd23(Succ(x0), x1) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (412) TransformationProof (EQUIVALENT) 108.70/78.83 By instantiating [LPAR04] the rule new_seq(:%(vuz40, Neg(vuz410)), :%(vuz300, Pos(vuz3010)), vuz5, vuz31) -> new_enforceWHNF1(vuz40, vuz300, new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), new_primMulNat0(vuz410, vuz3010), vuz31) we obtained the following new rules [LPAR04]: 108.70/78.83 108.70/78.83 (new_seq(:%(z2, Neg(x1)), :%(x2, Pos(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5),new_seq(:%(z2, Neg(x1)), :%(x2, Pos(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5)) 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (413) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) 108.70/78.83 new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 new_seq(:%(z2, Neg(x1)), :%(x2, Pos(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_quot(Pos(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D1(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Pos(vuz400), Neg(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_quot(Neg(vuz400), Pos(vuz3000), vuz28) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D2(new_primMulNat0(vuz400, vuz3000), vuz28)) 108.70/78.83 new_gcd24(Pos(vuz400), Neg(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Pos(vuz3000), vuz28) -> new_gcd23(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Neg(vuz400), Neg(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_gcd24(Pos(vuz400), Pos(vuz3000), vuz28) -> new_gcd22(new_primMulNat0(vuz400, vuz3000), vuz28) 108.70/78.83 new_primQuotInt0(vuz27, Pos(Succ(vuz16600))) -> Pos(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Succ(vuz16600))) -> Neg(new_primDivNatS1(vuz27, vuz16600)) 108.70/78.83 new_primQuotInt0(vuz27, Neg(Zero)) -> new_error 108.70/78.83 new_primQuotInt0(vuz27, Pos(Zero)) -> new_error 108.70/78.83 new_error -> error([]) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 108.70/78.83 new_primDivNatS1(Zero, vuz12300) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS01(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(vuz123000)) -> Zero 108.70/78.83 new_primDivNatS1(Succ(Succ(vuz12200)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz12200), Zero)) 108.70/78.83 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Succ(vuz1650)) -> Zero 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Zero, Zero) -> new_primDivNatS02(vuz162, vuz163) 108.70/78.83 new_primDivNatS01(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS01(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.83 new_primDivNatS02(vuz162, vuz163) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163))) 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 new_primMinusNatS2 -> Zero 108.70/78.83 new_primMulNat0(Zero, Zero) -> Zero 108.70/78.83 new_primMulNat0(Succ(vuz4100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz4100, Succ(vuz30100)), vuz30100) 108.70/78.83 new_primMulNat0(Succ(vuz4100), Zero) -> Zero 108.70/78.83 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 108.70/78.83 new_gcd22(Zero, Zero) -> new_error 108.70/78.83 new_gcd22(Succ(vuz1670), vuz28) -> new_gcd0Gcd'0(new_absReal1(vuz1670), new_abs1(vuz28)) 108.70/78.83 new_gcd22(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs1(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_abs1(Zero) -> Pos(Zero) 108.70/78.83 new_abs1(Succ(vuz280)) -> new_absReal1(vuz280) 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Zero)) -> vuz170 108.70/78.83 new_gcd0Gcd'0(vuz170, Pos(Succ(vuz16900))) -> new_gcd0Gcd'0(Pos(Succ(vuz16900)), new_primRemInt(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Succ(vuz16900))) -> new_gcd0Gcd'0(Neg(Succ(vuz16900)), new_primRemInt0(vuz170, vuz16900)) 108.70/78.83 new_gcd0Gcd'0(vuz170, Neg(Zero)) -> vuz170 108.70/78.83 new_primRemInt(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Neg(vuz1700), vuz16900) -> Neg(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primRemInt0(Pos(vuz1700), vuz16900) -> Pos(new_primModNatS1(vuz1700, vuz16900)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(vuz169000)) -> Succ(Zero) 108.70/78.83 new_primModNatS1(Zero, vuz16900) -> Zero 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS01(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS02(vuz187, vuz188) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS01(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS02(vuz187, vuz188) 108.70/78.83 new_primModNatS01(vuz187, vuz188, Zero, Succ(vuz1900)) -> Succ(Succ(vuz187)) 108.70/78.83 new_absReal1(vuz1670) -> Pos(Succ(vuz1670)) 108.70/78.83 new_primPlusNat0(Succ(vuz370), vuz30100) -> Succ(Succ(new_primPlusNat1(vuz370, vuz30100))) 108.70/78.83 new_primPlusNat0(Zero, vuz30100) -> Succ(vuz30100) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Zero) -> Succ(vuz3700) 108.70/78.83 new_primPlusNat1(Zero, Succ(vuz301000)) -> Succ(vuz301000) 108.70/78.83 new_primPlusNat1(Succ(vuz3700), Succ(vuz301000)) -> Succ(Succ(new_primPlusNat1(vuz3700, vuz301000))) 108.70/78.83 new_primPlusNat1(Zero, Zero) -> Zero 108.70/78.83 new_gcd23(Succ(vuz1240), vuz28) -> new_gcd0Gcd'0(new_abs(vuz1240), new_abs1(vuz28)) 108.70/78.83 new_gcd23(Zero, Succ(vuz280)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs1(Succ(vuz280))) 108.70/78.83 new_gcd23(Zero, Zero) -> new_error 108.70/78.83 new_abs0(Zero) -> Neg(Zero) 108.70/78.83 new_abs(vuz1240) -> new_absReal10(vuz1240) 108.70/78.83 new_absReal10(vuz1240) -> Pos(Succ(vuz1240)) 108.70/78.83 new_reduce2D2(vuz124, vuz28) -> new_gcd23(vuz124, vuz28) 108.70/78.83 new_primQuotInt(vuz122, Pos(Zero)) -> new_error 108.70/78.83 new_primQuotInt(vuz122, Pos(Succ(vuz12300))) -> Neg(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Succ(vuz12300))) -> Pos(new_primDivNatS1(vuz122, vuz12300)) 108.70/78.83 new_primQuotInt(vuz122, Neg(Zero)) -> new_error 108.70/78.83 new_reduce2D1(vuz167, vuz28) -> new_gcd22(vuz167, vuz28) 108.70/78.83 new_quot1(Neg(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt0(new_primMulNat0(vuz400, vuz3000), new_reduce2D0(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Pos(vuz400), Neg(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_quot1(Neg(vuz400), Pos(vuz3000), vuz34) -> new_primQuotInt(new_primMulNat0(vuz400, vuz3000), new_reduce2D(new_primMulNat0(vuz400, vuz3000), vuz34)) 108.70/78.83 new_gcd2(Pos(vuz400), Pos(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Neg(vuz3000), vuz34) -> new_gcd20(new_primMulNat0(vuz400, vuz3000), new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Pos(vuz400), Neg(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd2(Neg(vuz400), Pos(vuz3000), vuz34) -> new_gcd21(new_primMulNat0(vuz400, vuz3000), vuz34) 108.70/78.83 new_gcd21(Zero, Succ(vuz340)) -> new_gcd0Gcd'0(new_abs0(Zero), new_abs0(Succ(vuz340))) 108.70/78.83 new_gcd21(Zero, Zero) -> new_error 108.70/78.83 new_gcd21(Succ(vuz1250), vuz34) -> new_gcd0Gcd'0(new_abs(vuz1250), new_abs0(vuz34)) 108.70/78.83 new_abs0(Succ(vuz340)) -> new_absReal10(vuz340) 108.70/78.83 new_gcd20(Succ(vuz1270), vuz126, vuz34) -> new_gcd0(vuz126, vuz34) 108.70/78.83 new_gcd20(Zero, vuz126, Succ(vuz340)) -> new_gcd0(vuz126, Succ(vuz340)) 108.70/78.83 new_gcd20(Zero, vuz126, Zero) -> new_error 108.70/78.83 new_gcd0(vuz126, vuz34) -> new_gcd0Gcd'0(new_abs1(vuz126), new_abs0(vuz34)) 108.70/78.83 new_reduce2D(vuz125, vuz34) -> new_gcd21(vuz125, vuz34) 108.70/78.83 new_reduce2D0(vuz168, vuz34) -> new_gcd20(vuz168, vuz168, vuz34) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primQuotInt0(x0, Pos(Zero)) 108.70/78.83 new_primDivNatS02(x0, x1) 108.70/78.83 new_primPlusNat0(Succ(x0), x1) 108.70/78.83 new_primMulNat0(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Zero, x0) 108.70/78.83 new_gcd24(Pos(x0), Pos(x1), x2) 108.70/78.83 new_quot1(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot1(Neg(x0), Pos(x1), x2) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd0Gcd'0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Zero) 108.70/78.83 new_primPlusNat1(Succ(x0), Zero) 108.70/78.83 new_primQuotInt(x0, Neg(Zero)) 108.70/78.83 new_abs(x0) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_reduce2D(x0, x1) 108.70/78.83 new_gcd20(Zero, x0, Zero) 108.70/78.83 new_quot(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt(x0, Pos(Zero)) 108.70/78.83 new_quot1(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Succ(x1))) 108.70/78.83 new_gcd23(Zero, Succ(x0)) 108.70/78.83 new_gcd24(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd2(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Zero) 108.70/78.83 new_primDivNatS1(Succ(Zero), Zero) 108.70/78.83 new_abs0(Zero) 108.70/78.83 new_quot1(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 108.70/78.83 new_gcd23(Zero, Zero) 108.70/78.83 new_primMulNat0(Zero, Zero) 108.70/78.83 new_primMulNat0(Succ(x0), Zero) 108.70/78.83 new_gcd20(Zero, x0, Succ(x1)) 108.70/78.83 new_primPlusNat1(Zero, Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_primRemInt(Neg(x0), x1) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS1(x0) 108.70/78.83 new_gcd22(Zero, Succ(x0)) 108.70/78.83 new_abs1(Zero) 108.70/78.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_gcd0Gcd'0(x0, Pos(Zero)) 108.70/78.83 new_primRemInt0(Neg(x0), x1) 108.70/78.83 new_gcd2(Pos(x0), Pos(x1), x2) 108.70/78.83 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_reduce2D2(x0, x1) 108.70/78.83 new_gcd22(Succ(x0), x1) 108.70/78.83 new_absReal10(x0) 108.70/78.83 new_quot(Pos(x0), Neg(x1), x2) 108.70/78.83 new_quot(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primQuotInt0(x0, Neg(Zero)) 108.70/78.83 new_gcd21(Zero, Succ(x0)) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 108.70/78.83 new_primDivNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_primMinusNatS2 108.70/78.83 new_primQuotInt(x0, Pos(Succ(x1))) 108.70/78.83 new_primMulNat0(Zero, Succ(x0)) 108.70/78.83 new_primRemInt0(Pos(x0), x1) 108.70/78.83 new_reduce2D1(x0, x1) 108.70/78.83 new_primQuotInt0(x0, Neg(Succ(x1))) 108.70/78.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primDivNatS01(x0, x1, Succ(x2), Zero) 108.70/78.83 new_primPlusNat0(Zero, x0) 108.70/78.83 new_error 108.70/78.83 new_primModNatS1(Succ(Zero), Zero) 108.70/78.83 new_primDivNatS1(Zero, x0) 108.70/78.83 new_quot(Neg(x0), Neg(x1), x2) 108.70/78.83 new_primQuotInt(x0, Neg(Succ(x1))) 108.70/78.83 new_gcd21(Succ(x0), x1) 108.70/78.83 new_reduce2D0(x0, x1) 108.70/78.83 new_gcd20(Succ(x0), x1, x2) 108.70/78.83 new_primRemInt(Pos(x0), x1) 108.70/78.83 new_primPlusNat1(Zero, Succ(x0)) 108.70/78.83 new_primQuotInt0(x0, Pos(Succ(x1))) 108.70/78.83 new_absReal1(x0) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_gcd22(Zero, Zero) 108.70/78.83 new_primModNatS1(Succ(Succ(x0)), Zero) 108.70/78.83 new_abs0(Succ(x0)) 108.70/78.83 new_abs1(Succ(x0)) 108.70/78.83 new_gcd24(Pos(x0), Neg(x1), x2) 108.70/78.83 new_gcd24(Neg(x0), Pos(x1), x2) 108.70/78.83 new_primPlusNat1(Succ(x0), Succ(x1)) 108.70/78.83 new_primModNatS1(Succ(Zero), Succ(x0)) 108.70/78.83 new_gcd2(Neg(x0), Neg(x1), x2) 108.70/78.83 new_gcd0(x0, x1) 108.70/78.83 new_primModNatS02(x0, x1) 108.70/78.83 new_gcd23(Succ(x0), x1) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (414) QDPSizeChangeProof (EQUIVALENT) 108.70/78.83 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. 108.70/78.83 108.70/78.83 From the DPs we obtained the following set of size-change graphs: 108.70/78.83 *new_enforceWHNF0(vuz104, vuz90, vuz103, vuz89, :(vuz310, vuz311)) -> new_seq(:%(vuz103, vuz89), vuz310, :%(vuz103, vuz89), vuz311) 108.70/78.83 The graph contains the following edges 5 > 2, 5 > 4 108.70/78.83 108.70/78.83 108.70/78.83 *new_enforceWHNF(vuz40, vuz300, vuz28, vuz27, Succ(vuz300), vuz26, vuz25, vuz29, vuz31) -> new_enforceWHNF0(new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), new_quot(vuz40, vuz300, vuz28), new_primQuotInt0(vuz27, new_gcd24(vuz40, vuz300, vuz28)), vuz31) 108.70/78.83 The graph contains the following edges 9 >= 5 108.70/78.83 108.70/78.83 108.70/78.83 *new_enforceWHNF1(vuz40, vuz300, vuz34, vuz33, Succ(vuz360), vuz32, vuz31, vuz35, vuz31) -> new_enforceWHNF0(new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), new_quot1(vuz40, vuz300, vuz34), new_primQuotInt(vuz33, new_gcd2(vuz40, vuz300, vuz34)), vuz31) 108.70/78.83 The graph contains the following edges 7 >= 5, 9 >= 5 108.70/78.83 108.70/78.83 108.70/78.83 *new_seq(:%(z2, Pos(x1)), :%(x2, Neg(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 >= 9 108.70/78.83 108.70/78.83 108.70/78.83 *new_seq(:%(z2, Neg(x1)), :%(x2, Pos(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF1(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 >= 9 108.70/78.83 108.70/78.83 108.70/78.83 *new_seq(:%(z2, Neg(x1)), :%(x2, Neg(x3)), :%(z2, Neg(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 >= 9 108.70/78.83 108.70/78.83 108.70/78.83 *new_seq(:%(z2, Pos(x1)), :%(x2, Pos(x3)), :%(z2, Pos(x1)), z5) -> new_enforceWHNF(z2, x2, new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), new_primMulNat0(x1, x3), z5) 108.70/78.83 The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 >= 9 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (415) 108.70/78.83 YES 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (416) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS0(Zero, Zero), Zero) 108.70/78.83 new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS(Succ(Succ(vuz170000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (417) DependencyGraphProof (EQUIVALENT) 108.70/78.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (418) 108.70/78.83 Complex Obligation (AND) 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (419) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) 108.70/78.83 new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (420) TransformationProof (EQUIVALENT) 108.70/78.83 By rewriting [LPAR04] the rule new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) at position [0] we obtained the following new rules [LPAR04]: 108.70/78.83 108.70/78.83 (new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)),new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188))) 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (421) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) 108.70/78.83 new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (422) TransformationProof (EQUIVALENT) 108.70/78.83 By rewriting [LPAR04] the rule new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(Succ(vuz187), Succ(vuz188)), Succ(vuz188)) at position [0] we obtained the following new rules [LPAR04]: 108.70/78.83 108.70/78.83 (new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)),new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188))) 108.70/78.83 108.70/78.83 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (423) 108.70/78.83 Obligation: 108.70/78.83 Q DP problem: 108.70/78.83 The TRS P consists of the following rules: 108.70/78.83 108.70/78.83 new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) 108.70/78.83 new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) 108.70/78.83 new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) 108.70/78.83 108.70/78.83 The TRS R consists of the following rules: 108.70/78.83 108.70/78.83 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.83 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.83 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.83 108.70/78.83 The set Q consists of the following terms: 108.70/78.83 108.70/78.83 new_primMinusNatS0(Zero, Zero) 108.70/78.83 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.83 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.83 108.70/78.83 We have to consider all minimal (P,Q,R)-chains. 108.70/78.83 ---------------------------------------- 108.70/78.83 108.70/78.83 (424) QDPSizeChangeProof (EQUIVALENT) 108.70/78.83 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 108.70/78.83 108.70/78.83 Order:Polynomial interpretation [POLO]: 108.70/78.83 108.70/78.83 POL(Succ(x_1)) = 1 + x_1 108.70/78.83 POL(Zero) = 1 108.70/78.83 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.70/78.83 108.70/78.83 108.70/78.83 108.70/78.83 108.70/78.83 From the DPs we obtained the following set of size-change graphs: 108.70/78.83 *new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Zero) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) (allowed arguments on rhs = {1, 2}) 108.70/78.83 The graph contains the following edges 1 >= 1 108.70/78.83 108.70/78.83 108.70/78.83 *new_primModNatS00(vuz187, vuz188) -> new_primModNatS(new_primMinusNatS0(vuz187, vuz188), Succ(vuz188)) (allowed arguments on rhs = {1, 2}) 108.70/78.83 The graph contains the following edges 1 >= 1 108.70/78.83 108.70/78.83 108.70/78.83 *new_primModNatS(Succ(Succ(vuz170000)), Succ(vuz169000)) -> new_primModNatS0(vuz170000, vuz169000, vuz170000, vuz169000) (allowed arguments on rhs = {1, 2, 3, 4}) 108.70/78.84 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 108.70/78.84 108.70/78.84 108.70/78.84 *new_primModNatS0(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900)) -> new_primModNatS0(vuz187, vuz188, vuz1890, vuz1900) (allowed arguments on rhs = {1, 2, 3, 4}) 108.70/78.84 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 108.70/78.84 108.70/78.84 108.70/78.84 *new_primModNatS0(vuz187, vuz188, Zero, Zero) -> new_primModNatS00(vuz187, vuz188) (allowed arguments on rhs = {1, 2}) 108.70/78.84 The graph contains the following edges 1 >= 1, 2 >= 2 108.70/78.84 108.70/78.84 108.70/78.84 108.70/78.84 We oriented the following set of usable rules [AAECC05,FROCOS05]. 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.84 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (425) 108.70/78.84 YES 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (426) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 The TRS P consists of the following rules: 108.70/78.84 108.70/78.84 new_primModNatS(Succ(Succ(vuz170000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) 108.70/78.84 108.70/78.84 The TRS R consists of the following rules: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.84 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.84 108.70/78.84 The set Q consists of the following terms: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Zero) 108.70/78.84 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.84 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.84 108.70/78.84 We have to consider all minimal (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (427) QDPSizeChangeProof (EQUIVALENT) 108.70/78.84 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 108.70/78.84 108.70/78.84 Order:Polynomial interpretation [POLO]: 108.70/78.84 108.70/78.84 POL(Succ(x_1)) = 1 + x_1 108.70/78.84 POL(Zero) = 1 108.70/78.84 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.70/78.84 108.70/78.84 108.70/78.84 108.70/78.84 108.70/78.84 From the DPs we obtained the following set of size-change graphs: 108.70/78.84 *new_primModNatS(Succ(Succ(vuz170000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz170000), Zero), Zero) (allowed arguments on rhs = {1, 2}) 108.70/78.84 The graph contains the following edges 1 > 1, 2 >= 2 108.70/78.84 108.70/78.84 108.70/78.84 108.70/78.84 We oriented the following set of usable rules [AAECC05,FROCOS05]. 108.70/78.84 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (428) 108.70/78.84 YES 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (429) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 The TRS P consists of the following rules: 108.70/78.84 108.70/78.84 new_primDivNatS(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS0(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.84 new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) 108.70/78.84 new_primDivNatS0(vuz162, vuz163, Zero, Zero) -> new_primDivNatS00(vuz162, vuz163) 108.70/78.84 new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS0(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.84 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS2, Zero) 108.70/78.84 new_primDivNatS(Succ(Succ(vuz12200)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz12200), Zero) 108.70/78.84 new_primDivNatS00(vuz162, vuz163) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) 108.70/78.84 108.70/78.84 The TRS R consists of the following rules: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.84 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.84 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.84 new_primMinusNatS2 -> Zero 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.84 108.70/78.84 The set Q consists of the following terms: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Zero) 108.70/78.84 new_primMinusNatS2 108.70/78.84 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.84 new_primMinusNatS1(x0) 108.70/78.84 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.84 108.70/78.84 We have to consider all minimal (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (430) DependencyGraphProof (EQUIVALENT) 108.70/78.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (431) 108.70/78.84 Complex Obligation (AND) 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (432) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 The TRS P consists of the following rules: 108.70/78.84 108.70/78.84 new_primDivNatS(Succ(Succ(vuz12200)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz12200), Zero) 108.70/78.84 108.70/78.84 The TRS R consists of the following rules: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.84 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.84 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.84 new_primMinusNatS2 -> Zero 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.84 108.70/78.84 The set Q consists of the following terms: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Zero) 108.70/78.84 new_primMinusNatS2 108.70/78.84 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.84 new_primMinusNatS1(x0) 108.70/78.84 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.84 108.70/78.84 We have to consider all minimal (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (433) MRRProof (EQUIVALENT) 108.70/78.84 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. 108.70/78.84 108.70/78.84 Strictly oriented dependency pairs: 108.70/78.84 108.70/78.84 new_primDivNatS(Succ(Succ(vuz12200)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz12200), Zero) 108.70/78.84 108.70/78.84 Strictly oriented rules of the TRS R: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.84 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.84 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.84 new_primMinusNatS2 -> Zero 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.84 108.70/78.84 Used ordering: Polynomial interpretation [POLO]: 108.70/78.84 108.70/78.84 POL(Succ(x_1)) = 1 + 2*x_1 108.70/78.84 POL(Zero) = 1 108.70/78.84 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 108.70/78.84 POL(new_primMinusNatS0(x_1, x_2)) = x_1 + x_2 108.70/78.84 POL(new_primMinusNatS1(x_1)) = 2 + 2*x_1 108.70/78.84 POL(new_primMinusNatS2) = 2 108.70/78.84 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (434) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 P is empty. 108.70/78.84 R is empty. 108.70/78.84 The set Q consists of the following terms: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Zero) 108.70/78.84 new_primMinusNatS2 108.70/78.84 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.84 new_primMinusNatS1(x0) 108.70/78.84 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.84 108.70/78.84 We have to consider all minimal (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (435) PisEmptyProof (EQUIVALENT) 108.70/78.84 The TRS P is empty. Hence, there is no (P,Q,R) chain. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (436) 108.70/78.84 YES 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (437) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 The TRS P consists of the following rules: 108.70/78.84 108.70/78.84 new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) 108.70/78.84 new_primDivNatS(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS0(vuz12200, vuz123000, vuz12200, vuz123000) 108.70/78.84 new_primDivNatS0(vuz162, vuz163, Zero, Zero) -> new_primDivNatS00(vuz162, vuz163) 108.70/78.84 new_primDivNatS00(vuz162, vuz163) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) 108.70/78.84 new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS0(vuz162, vuz163, vuz1640, vuz1650) 108.70/78.84 108.70/78.84 The TRS R consists of the following rules: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.84 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.84 new_primMinusNatS1(vuz12200) -> Succ(vuz12200) 108.70/78.84 new_primMinusNatS2 -> Zero 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.84 108.70/78.84 The set Q consists of the following terms: 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Zero) 108.70/78.84 new_primMinusNatS2 108.70/78.84 new_primMinusNatS0(Succ(x0), Zero) 108.70/78.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 108.70/78.84 new_primMinusNatS1(x0) 108.70/78.84 new_primMinusNatS0(Zero, Succ(x0)) 108.70/78.84 108.70/78.84 We have to consider all minimal (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (438) QDPSizeChangeProof (EQUIVALENT) 108.70/78.84 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 108.70/78.84 108.70/78.84 Order:Polynomial interpretation [POLO]: 108.70/78.84 108.70/78.84 POL(Succ(x_1)) = 1 + x_1 108.70/78.84 POL(Zero) = 1 108.70/78.84 POL(new_primMinusNatS0(x_1, x_2)) = x_1 108.70/78.84 108.70/78.84 108.70/78.84 108.70/78.84 108.70/78.84 From the DPs we obtained the following set of size-change graphs: 108.70/78.84 *new_primDivNatS(Succ(Succ(vuz12200)), Succ(vuz123000)) -> new_primDivNatS0(vuz12200, vuz123000, vuz12200, vuz123000) (allowed arguments on rhs = {1, 2, 3, 4}) 108.70/78.84 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 108.70/78.84 108.70/78.84 108.70/78.84 *new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Succ(vuz1650)) -> new_primDivNatS0(vuz162, vuz163, vuz1640, vuz1650) (allowed arguments on rhs = {1, 2, 3, 4}) 108.70/78.84 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 108.70/78.84 108.70/78.84 108.70/78.84 *new_primDivNatS0(vuz162, vuz163, Succ(vuz1640), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) (allowed arguments on rhs = {1, 2}) 108.70/78.84 The graph contains the following edges 1 >= 1 108.70/78.84 108.70/78.84 108.70/78.84 *new_primDivNatS0(vuz162, vuz163, Zero, Zero) -> new_primDivNatS00(vuz162, vuz163) (allowed arguments on rhs = {1, 2}) 108.70/78.84 The graph contains the following edges 1 >= 1, 2 >= 2 108.70/78.84 108.70/78.84 108.70/78.84 *new_primDivNatS00(vuz162, vuz163) -> new_primDivNatS(new_primMinusNatS0(vuz162, vuz163), Succ(vuz163)) (allowed arguments on rhs = {1, 2}) 108.70/78.84 The graph contains the following edges 1 >= 1 108.70/78.84 108.70/78.84 108.70/78.84 108.70/78.84 We oriented the following set of usable rules [AAECC05,FROCOS05]. 108.70/78.84 108.70/78.84 new_primMinusNatS0(Zero, Zero) -> Zero 108.70/78.84 new_primMinusNatS0(Zero, Succ(vuz1630)) -> Zero 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Zero) -> Succ(vuz1620) 108.70/78.84 new_primMinusNatS0(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS0(vuz1620, vuz1630) 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (439) 108.70/78.84 YES 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (440) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 The TRS P consists of the following rules: 108.70/78.84 108.70/78.84 new_primMulNat(Succ(vuz4100), Succ(vuz30100)) -> new_primMulNat(vuz4100, Succ(vuz30100)) 108.70/78.84 108.70/78.84 R is empty. 108.70/78.84 Q is empty. 108.70/78.84 We have to consider all minimal (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (441) QDPSizeChangeProof (EQUIVALENT) 108.70/78.84 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. 108.70/78.84 108.70/78.84 From the DPs we obtained the following set of size-change graphs: 108.70/78.84 *new_primMulNat(Succ(vuz4100), Succ(vuz30100)) -> new_primMulNat(vuz4100, Succ(vuz30100)) 108.70/78.84 The graph contains the following edges 1 > 1, 2 >= 2 108.70/78.84 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (442) 108.70/78.84 YES 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (443) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 The TRS P consists of the following rules: 108.70/78.84 108.70/78.84 new_primMinusNatS(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS(vuz1620, vuz1630) 108.70/78.84 108.70/78.84 R is empty. 108.70/78.84 Q is empty. 108.70/78.84 We have to consider all minimal (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (444) QDPSizeChangeProof (EQUIVALENT) 108.70/78.84 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. 108.70/78.84 108.70/78.84 From the DPs we obtained the following set of size-change graphs: 108.70/78.84 *new_primMinusNatS(Succ(vuz1620), Succ(vuz1630)) -> new_primMinusNatS(vuz1620, vuz1630) 108.70/78.84 The graph contains the following edges 1 > 1, 2 > 2 108.70/78.84 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (445) 108.70/78.84 YES 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (446) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 The TRS P consists of the following rules: 108.70/78.84 108.70/78.84 new_primPlusNat(Succ(vuz3700), Succ(vuz301000)) -> new_primPlusNat(vuz3700, vuz301000) 108.70/78.84 108.70/78.84 R is empty. 108.70/78.84 Q is empty. 108.70/78.84 We have to consider all minimal (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (447) QDPSizeChangeProof (EQUIVALENT) 108.70/78.84 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. 108.70/78.84 108.70/78.84 From the DPs we obtained the following set of size-change graphs: 108.70/78.84 *new_primPlusNat(Succ(vuz3700), Succ(vuz301000)) -> new_primPlusNat(vuz3700, vuz301000) 108.70/78.84 The graph contains the following edges 1 > 1, 2 > 2 108.70/78.84 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (448) 108.70/78.84 YES 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (449) Narrow (COMPLETE) 108.70/78.84 Haskell To QDPs 108.70/78.84 108.70/78.84 digraph dp_graph { 108.70/78.84 node [outthreshold=100, inthreshold=100];1[label="product",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 108.70/78.84 3[label="product vuz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 108.70/78.84 4[label="foldl' (*) (fromInt (Pos (Succ Zero))) vuz3",fontsize=16,color="burlywood",shape="box"];6709[label="vuz3/vuz30 : vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 6709[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6709 -> 5[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6710[label="vuz3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 6710[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6710 -> 6[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5[label="foldl' (*) (fromInt (Pos (Succ Zero))) (vuz30 : vuz31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 108.70/78.84 6[label="foldl' (*) (fromInt (Pos (Succ Zero))) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 108.70/78.84 7[label="(foldl' (*) $! (*) fromInt (Pos (Succ Zero)) vuz30)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 108.70/78.84 8[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];8 -> 10[label="",style="solid", color="black", weight=3]; 108.70/78.84 9 -> 11[label="",style="dashed", color="red", weight=0]; 108.70/78.84 9[label="((*) fromInt (Pos (Succ Zero)) vuz30 `seq` foldl' (*) ((*) fromInt (Pos (Succ Zero)) vuz30))",fontsize=16,color="magenta"];9 -> 12[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 9 -> 13[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 10[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 108.70/78.84 12 -> 8[label="",style="dashed", color="red", weight=0]; 108.70/78.84 12[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];13 -> 8[label="",style="dashed", color="red", weight=0]; 108.70/78.84 13[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];11[label="((*) vuz4 vuz30 `seq` foldl' (*) ((*) vuz5 vuz30))",fontsize=16,color="black",shape="triangle"];11 -> 15[label="",style="solid", color="black", weight=3]; 108.70/78.84 14[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];14 -> 16[label="",style="dashed", color="green", weight=3]; 108.70/78.84 14 -> 17[label="",style="dashed", color="green", weight=3]; 108.70/78.84 15[label="enforceWHNF (WHNF ((*) vuz4 vuz30)) (foldl' (*) ((*) vuz5 vuz30)) vuz31",fontsize=16,color="burlywood",shape="box"];6711[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 6711[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6711 -> 18[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 16[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];16 -> 19[label="",style="solid", color="black", weight=3]; 108.70/78.84 17 -> 16[label="",style="dashed", color="red", weight=0]; 108.70/78.84 17[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];18[label="enforceWHNF (WHNF ((*) (vuz40 :% vuz41) vuz30)) (foldl' (*) ((*) vuz5 vuz30)) vuz31",fontsize=16,color="burlywood",shape="box"];6712[label="vuz30/vuz300 :% vuz301",fontsize=10,color="white",style="solid",shape="box"];18 -> 6712[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6712 -> 20[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 19[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];20[label="enforceWHNF (WHNF ((*) (vuz40 :% vuz41) (vuz300 :% vuz301))) (foldl' (*) ((*) vuz5 (vuz300 :% vuz301))) vuz31",fontsize=16,color="black",shape="box"];20 -> 21[label="",style="solid", color="black", weight=3]; 108.70/78.84 21[label="enforceWHNF (WHNF (reduce (vuz40 * vuz300) (vuz41 * vuz301))) (foldl' (*) (reduce (vuz40 * vuz300) (vuz41 * vuz301))) vuz31",fontsize=16,color="black",shape="box"];21 -> 22[label="",style="solid", color="black", weight=3]; 108.70/78.84 22[label="enforceWHNF (WHNF (reduce2 (vuz40 * vuz300) (vuz41 * vuz301))) (foldl' (*) (reduce2 (vuz40 * vuz300) (vuz41 * vuz301))) vuz31",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 108.70/78.84 23[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (vuz41 * vuz301 == fromInt (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (vuz41 * vuz301 == fromInt (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 108.70/78.84 24[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (primEqInt (vuz41 * vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (vuz41 * vuz301) (vuz40 * vuz300) (vuz41 * vuz301) (primEqInt (vuz41 * vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 108.70/78.84 25[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt vuz41 vuz301) (vuz40 * vuz300) (primMulInt vuz41 vuz301) (primEqInt (primMulInt vuz41 vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt vuz41 vuz301) (vuz40 * vuz300) (primMulInt vuz41 vuz301) (primEqInt (primMulInt vuz41 vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6713[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];25 -> 6713[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6713 -> 26[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6714[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];25 -> 6714[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6714 -> 27[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 26[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (primEqInt (primMulInt (Pos vuz410) vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Pos vuz410) vuz301) (primEqInt (primMulInt (Pos vuz410) vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6715[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];26 -> 6715[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6715 -> 28[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6716[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];26 -> 6716[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6716 -> 29[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 27[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (primEqInt (primMulInt (Neg vuz410) vuz301) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (vuz40 * vuz300) (primMulInt (Neg vuz410) vuz301) (primEqInt (primMulInt (Neg vuz410) vuz301) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="box"];6717[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];27 -> 6717[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6717 -> 30[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6718[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];27 -> 6718[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6718 -> 31[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 28[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 108.70/78.84 29[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Pos vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Pos vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 108.70/78.84 30[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Pos vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Pos vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 108.70/78.84 31[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (vuz40 * vuz300) (primMulInt (Neg vuz410) (Neg vuz3010)) (primEqInt (primMulInt (Neg vuz410) (Neg vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 108.70/78.84 32 -> 304[label="",style="dashed", color="red", weight=0]; 108.70/78.84 32[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];32 -> 305[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 32 -> 306[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 32 -> 307[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 32 -> 308[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 32 -> 309[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 32 -> 310[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 33 -> 393[label="",style="dashed", color="red", weight=0]; 108.70/78.84 33[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];33 -> 394[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 33 -> 395[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 33 -> 396[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 33 -> 397[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 33 -> 398[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 33 -> 399[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 34 -> 393[label="",style="dashed", color="red", weight=0]; 108.70/78.84 34[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Neg (primMulNat vuz410 vuz3010)) (primEqInt (Neg (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];34 -> 400[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 34 -> 401[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 34 -> 402[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 34 -> 403[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 34 -> 404[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 34 -> 405[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 35 -> 304[label="",style="dashed", color="red", weight=0]; 108.70/78.84 35[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (vuz40 * vuz300) (Pos (primMulNat vuz410 vuz3010)) (primEqInt (Pos (primMulNat vuz410 vuz3010)) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="magenta"];35 -> 311[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 35 -> 312[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 35 -> 313[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 35 -> 314[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 35 -> 315[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 35 -> 316[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 305[label="primMulNat vuz410 vuz3010",fontsize=16,color="burlywood",shape="triangle"];6719[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];305 -> 6719[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6719 -> 377[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6720[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];305 -> 6720[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6720 -> 378[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 306 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 306[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];307 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 307[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];308 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 308[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];309 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 309[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];310 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 310[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];304[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos vuz30) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="triangle"];6721[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];304 -> 6721[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6721 -> 379[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6722[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];304 -> 6722[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6722 -> 380[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 394 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 394[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];394 -> 466[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 395 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 395[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];395 -> 467[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 396 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 396[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];396 -> 468[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 397 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 397[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];397 -> 469[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 398 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 398[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];398 -> 470[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 399 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 399[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];399 -> 471[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 393[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg vuz36) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="burlywood",shape="triangle"];6723[label="vuz36/Succ vuz360",fontsize=10,color="white",style="solid",shape="box"];393 -> 6723[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6723 -> 472[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6724[label="vuz36/Zero",fontsize=10,color="white",style="solid",shape="box"];393 -> 6724[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6724 -> 473[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 400 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 400[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];400 -> 474[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 401 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 401[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];401 -> 475[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 402 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 402[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];402 -> 476[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 403 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 403[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];403 -> 477[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 404 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 404[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];404 -> 478[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 405 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 405[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];405 -> 479[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 311 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 311[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];311 -> 381[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 311 -> 382[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 312 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 312[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];312 -> 383[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 312 -> 384[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 313 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 313[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];313 -> 385[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 313 -> 386[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 314 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 314[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];314 -> 387[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 314 -> 388[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 315 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 315[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];315 -> 389[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 315 -> 390[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 316 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 316[label="primMulNat vuz410 vuz3010",fontsize=16,color="magenta"];316 -> 391[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 316 -> 392[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 377[label="primMulNat (Succ vuz4100) vuz3010",fontsize=16,color="burlywood",shape="box"];6725[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];377 -> 6725[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6725 -> 480[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6726[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];377 -> 6726[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6726 -> 481[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 378[label="primMulNat Zero vuz3010",fontsize=16,color="burlywood",shape="box"];6727[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];378 -> 6727[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6727 -> 482[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6728[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];378 -> 6728[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6728 -> 483[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 379[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos (Succ vuz300)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];379 -> 484[label="",style="solid", color="black", weight=3]; 108.70/78.84 380[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];380 -> 485[label="",style="solid", color="black", weight=3]; 108.70/78.84 466[label="vuz3010",fontsize=16,color="green",shape="box"];467[label="vuz3010",fontsize=16,color="green",shape="box"];468[label="vuz3010",fontsize=16,color="green",shape="box"];469[label="vuz3010",fontsize=16,color="green",shape="box"];470[label="vuz3010",fontsize=16,color="green",shape="box"];471[label="vuz3010",fontsize=16,color="green",shape="box"];472[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg (Succ vuz360)) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];472 -> 486[label="",style="solid", color="black", weight=3]; 108.70/78.84 473[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (fromInt (Pos Zero))))) vuz31",fontsize=16,color="black",shape="box"];473 -> 487[label="",style="solid", color="black", weight=3]; 108.70/78.84 474[label="vuz410",fontsize=16,color="green",shape="box"];475[label="vuz410",fontsize=16,color="green",shape="box"];476[label="vuz410",fontsize=16,color="green",shape="box"];477[label="vuz410",fontsize=16,color="green",shape="box"];478[label="vuz410",fontsize=16,color="green",shape="box"];479[label="vuz410",fontsize=16,color="green",shape="box"];381[label="vuz410",fontsize=16,color="green",shape="box"];382[label="vuz3010",fontsize=16,color="green",shape="box"];383[label="vuz410",fontsize=16,color="green",shape="box"];384[label="vuz3010",fontsize=16,color="green",shape="box"];385[label="vuz410",fontsize=16,color="green",shape="box"];386[label="vuz3010",fontsize=16,color="green",shape="box"];387[label="vuz410",fontsize=16,color="green",shape="box"];388[label="vuz3010",fontsize=16,color="green",shape="box"];389[label="vuz410",fontsize=16,color="green",shape="box"];390[label="vuz3010",fontsize=16,color="green",shape="box"];391[label="vuz410",fontsize=16,color="green",shape="box"];392[label="vuz3010",fontsize=16,color="green",shape="box"];480[label="primMulNat (Succ vuz4100) (Succ vuz30100)",fontsize=16,color="black",shape="box"];480 -> 488[label="",style="solid", color="black", weight=3]; 108.70/78.84 481[label="primMulNat (Succ vuz4100) Zero",fontsize=16,color="black",shape="box"];481 -> 489[label="",style="solid", color="black", weight=3]; 108.70/78.84 482[label="primMulNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];482 -> 490[label="",style="solid", color="black", weight=3]; 108.70/78.84 483[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];483 -> 491[label="",style="solid", color="black", weight=3]; 108.70/78.84 484[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos (Succ vuz300)) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];484 -> 492[label="",style="solid", color="black", weight=3]; 108.70/78.84 485[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) (primEqInt (Pos Zero) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) (primEqInt (Pos vuz29) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];485 -> 493[label="",style="solid", color="black", weight=3]; 108.70/78.84 486[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg (Succ vuz360)) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];486 -> 494[label="",style="solid", color="black", weight=3]; 108.70/78.84 487[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) (primEqInt (Neg Zero) (Pos Zero)))) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) (primEqInt (Neg vuz35) (Pos Zero)))) vuz31",fontsize=16,color="black",shape="box"];487 -> 495[label="",style="solid", color="black", weight=3]; 108.70/78.84 488 -> 496[label="",style="dashed", color="red", weight=0]; 108.70/78.84 488[label="primPlusNat (primMulNat vuz4100 (Succ vuz30100)) (Succ vuz30100)",fontsize=16,color="magenta"];488 -> 497[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 489[label="Zero",fontsize=16,color="green",shape="box"];490[label="Zero",fontsize=16,color="green",shape="box"];491[label="Zero",fontsize=16,color="green",shape="box"];492[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) False)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) False)) vuz31",fontsize=16,color="black",shape="box"];492 -> 498[label="",style="solid", color="black", weight=3]; 108.70/78.84 493[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Pos vuz26) (vuz40 * vuz300) (Pos vuz25) True)) vuz31",fontsize=16,color="black",shape="box"];493 -> 499[label="",style="solid", color="black", weight=3]; 108.70/78.84 494[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) False)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) False)) vuz31",fontsize=16,color="black",shape="box"];494 -> 500[label="",style="solid", color="black", weight=3]; 108.70/78.84 495[label="enforceWHNF (WHNF (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) (foldl' (*) (reduce2Reduce1 (vuz40 * vuz300) (Neg vuz32) (vuz40 * vuz300) (Neg vuz31) True)) vuz31",fontsize=16,color="black",shape="box"];495 -> 501[label="",style="solid", color="black", weight=3]; 108.70/78.84 497 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 497[label="primMulNat vuz4100 (Succ vuz30100)",fontsize=16,color="magenta"];497 -> 502[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 497 -> 503[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 496[label="primPlusNat vuz37 (Succ vuz30100)",fontsize=16,color="burlywood",shape="triangle"];6729[label="vuz37/Succ vuz370",fontsize=10,color="white",style="solid",shape="box"];496 -> 6729[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6729 -> 504[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6730[label="vuz37/Zero",fontsize=10,color="white",style="solid",shape="box"];496 -> 6730[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6730 -> 505[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 498[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) otherwise)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) otherwise)) vuz31",fontsize=16,color="black",shape="box"];498 -> 506[label="",style="solid", color="black", weight=3]; 108.70/78.84 499[label="enforceWHNF (WHNF (error [])) (foldl' (*) (error [])) vuz31",fontsize=16,color="black",shape="triangle"];499 -> 507[label="",style="solid", color="black", weight=3]; 108.70/78.84 500[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) otherwise)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) otherwise)) vuz31",fontsize=16,color="black",shape="box"];500 -> 508[label="",style="solid", color="black", weight=3]; 108.70/78.84 501 -> 499[label="",style="dashed", color="red", weight=0]; 108.70/78.84 501[label="enforceWHNF (WHNF (error [])) (foldl' (*) (error [])) vuz31",fontsize=16,color="magenta"];502[label="vuz4100",fontsize=16,color="green",shape="box"];503[label="Succ vuz30100",fontsize=16,color="green",shape="box"];504[label="primPlusNat (Succ vuz370) (Succ vuz30100)",fontsize=16,color="black",shape="box"];504 -> 509[label="",style="solid", color="black", weight=3]; 108.70/78.84 505[label="primPlusNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];505 -> 510[label="",style="solid", color="black", weight=3]; 108.70/78.84 506[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Pos vuz28) (vuz40 * vuz300) (Pos vuz27) True)) vuz31",fontsize=16,color="black",shape="box"];506 -> 511[label="",style="solid", color="black", weight=3]; 108.70/78.84 507[label="error []",fontsize=16,color="red",shape="box"];508[label="enforceWHNF (WHNF (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) (foldl' (*) (reduce2Reduce0 (vuz40 * vuz300) (Neg vuz34) (vuz40 * vuz300) (Neg vuz33) True)) vuz31",fontsize=16,color="black",shape="box"];508 -> 512[label="",style="solid", color="black", weight=3]; 108.70/78.84 509[label="Succ (Succ (primPlusNat vuz370 vuz30100))",fontsize=16,color="green",shape="box"];509 -> 513[label="",style="dashed", color="green", weight=3]; 108.70/78.84 510[label="Succ vuz30100",fontsize=16,color="green",shape="box"];511 -> 1782[label="",style="dashed", color="red", weight=0]; 108.70/78.84 511[label="enforceWHNF (WHNF (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28) :% (Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)))) (foldl' (*) (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28) :% (Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)))) vuz31",fontsize=16,color="magenta"];511 -> 1783[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 511 -> 1784[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 511 -> 1785[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 511 -> 1786[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 512 -> 1782[label="",style="dashed", color="red", weight=0]; 108.70/78.84 512[label="enforceWHNF (WHNF (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34) :% (Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)))) (foldl' (*) (vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34) :% (Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)))) vuz31",fontsize=16,color="magenta"];512 -> 1787[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 512 -> 1788[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 512 -> 1789[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 512 -> 1790[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 513[label="primPlusNat vuz370 vuz30100",fontsize=16,color="burlywood",shape="triangle"];6731[label="vuz370/Succ vuz3700",fontsize=10,color="white",style="solid",shape="box"];513 -> 6731[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6731 -> 516[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6732[label="vuz370/Zero",fontsize=10,color="white",style="solid",shape="box"];513 -> 6732[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6732 -> 517[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 1783[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];1783 -> 3901[label="",style="solid", color="black", weight=3]; 108.70/78.84 1784[label="Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];1784 -> 3902[label="",style="solid", color="black", weight=3]; 108.70/78.84 1785 -> 1784[label="",style="dashed", color="red", weight=0]; 108.70/78.84 1785[label="Pos vuz27 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="magenta"];1786 -> 1783[label="",style="dashed", color="red", weight=0]; 108.70/78.84 1786[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="magenta"];1782[label="enforceWHNF (WHNF (vuz104 :% vuz90)) (foldl' (*) (vuz103 :% vuz89)) vuz31",fontsize=16,color="black",shape="triangle"];1782 -> 3903[label="",style="solid", color="black", weight=3]; 108.70/78.84 1787[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];1787 -> 3904[label="",style="solid", color="black", weight=3]; 108.70/78.84 1788[label="Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];1788 -> 3905[label="",style="solid", color="black", weight=3]; 108.70/78.84 1789 -> 1788[label="",style="dashed", color="red", weight=0]; 108.70/78.84 1789[label="Neg vuz33 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="magenta"];1790 -> 1787[label="",style="dashed", color="red", weight=0]; 108.70/78.84 1790[label="vuz40 * vuz300 `quot` reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="magenta"];516[label="primPlusNat (Succ vuz3700) vuz30100",fontsize=16,color="burlywood",shape="box"];6733[label="vuz30100/Succ vuz301000",fontsize=10,color="white",style="solid",shape="box"];516 -> 6733[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6733 -> 520[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6734[label="vuz30100/Zero",fontsize=10,color="white",style="solid",shape="box"];516 -> 6734[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6734 -> 521[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 517[label="primPlusNat Zero vuz30100",fontsize=16,color="burlywood",shape="box"];6735[label="vuz30100/Succ vuz301000",fontsize=10,color="white",style="solid",shape="box"];517 -> 6735[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6735 -> 522[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6736[label="vuz30100/Zero",fontsize=10,color="white",style="solid",shape="box"];517 -> 6736[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6736 -> 523[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 3901[label="primQuotInt (vuz40 * vuz300) (reduce2D (vuz40 * vuz300) (Pos vuz28))",fontsize=16,color="black",shape="box"];3901 -> 3906[label="",style="solid", color="black", weight=3]; 108.70/78.84 3902 -> 5758[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3902[label="primQuotInt (Pos vuz27) (reduce2D (vuz40 * vuz300) (Pos vuz28))",fontsize=16,color="magenta"];3902 -> 5759[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3903[label="foldl' (*) (vuz103 :% vuz89) vuz31",fontsize=16,color="burlywood",shape="box"];6737[label="vuz31/vuz310 : vuz311",fontsize=10,color="white",style="solid",shape="box"];3903 -> 6737[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6737 -> 3908[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6738[label="vuz31/[]",fontsize=10,color="white",style="solid",shape="box"];3903 -> 6738[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6738 -> 3909[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 3904[label="primQuotInt (vuz40 * vuz300) (reduce2D (vuz40 * vuz300) (Neg vuz34))",fontsize=16,color="black",shape="box"];3904 -> 3910[label="",style="solid", color="black", weight=3]; 108.70/78.84 3905 -> 4543[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3905[label="primQuotInt (Neg vuz33) (reduce2D (vuz40 * vuz300) (Neg vuz34))",fontsize=16,color="magenta"];3905 -> 4544[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3905 -> 4545[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 520[label="primPlusNat (Succ vuz3700) (Succ vuz301000)",fontsize=16,color="black",shape="box"];520 -> 528[label="",style="solid", color="black", weight=3]; 108.70/78.84 521[label="primPlusNat (Succ vuz3700) Zero",fontsize=16,color="black",shape="box"];521 -> 529[label="",style="solid", color="black", weight=3]; 108.70/78.84 522[label="primPlusNat Zero (Succ vuz301000)",fontsize=16,color="black",shape="box"];522 -> 530[label="",style="solid", color="black", weight=3]; 108.70/78.84 523[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];523 -> 531[label="",style="solid", color="black", weight=3]; 108.70/78.84 3906[label="primQuotInt (primMulInt vuz40 vuz300) (reduce2D (primMulInt vuz40 vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6739[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];3906 -> 6739[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6739 -> 3912[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6740[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];3906 -> 6740[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6740 -> 3913[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5759[label="reduce2D (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];5759 -> 6168[label="",style="solid", color="black", weight=3]; 108.70/78.84 5758[label="primQuotInt (Pos vuz27) vuz166",fontsize=16,color="burlywood",shape="triangle"];6741[label="vuz166/Pos vuz1660",fontsize=10,color="white",style="solid",shape="box"];5758 -> 6741[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6741 -> 6169[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6742[label="vuz166/Neg vuz1660",fontsize=10,color="white",style="solid",shape="box"];5758 -> 6742[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6742 -> 6170[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 3908[label="foldl' (*) (vuz103 :% vuz89) (vuz310 : vuz311)",fontsize=16,color="black",shape="box"];3908 -> 3915[label="",style="solid", color="black", weight=3]; 108.70/78.84 3909[label="foldl' (*) (vuz103 :% vuz89) []",fontsize=16,color="black",shape="box"];3909 -> 3916[label="",style="solid", color="black", weight=3]; 108.70/78.84 3910[label="primQuotInt (primMulInt vuz40 vuz300) (reduce2D (primMulInt vuz40 vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6743[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];3910 -> 6743[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6743 -> 3917[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6744[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];3910 -> 6744[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6744 -> 3918[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 4544[label="reduce2D (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4544 -> 4990[label="",style="solid", color="black", weight=3]; 108.70/78.84 4545[label="vuz33",fontsize=16,color="green",shape="box"];4543[label="primQuotInt (Neg vuz122) vuz123",fontsize=16,color="burlywood",shape="triangle"];6745[label="vuz123/Pos vuz1230",fontsize=10,color="white",style="solid",shape="box"];4543 -> 6745[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6745 -> 4991[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6746[label="vuz123/Neg vuz1230",fontsize=10,color="white",style="solid",shape="box"];4543 -> 6746[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6746 -> 4992[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 528[label="Succ (Succ (primPlusNat vuz3700 vuz301000))",fontsize=16,color="green",shape="box"];528 -> 540[label="",style="dashed", color="green", weight=3]; 108.70/78.84 529[label="Succ vuz3700",fontsize=16,color="green",shape="box"];530[label="Succ vuz301000",fontsize=16,color="green",shape="box"];531[label="Zero",fontsize=16,color="green",shape="box"];3912[label="primQuotInt (primMulInt (Pos vuz400) vuz300) (reduce2D (primMulInt (Pos vuz400) vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6747[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3912 -> 6747[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6747 -> 3920[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6748[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3912 -> 6748[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6748 -> 3921[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 3913[label="primQuotInt (primMulInt (Neg vuz400) vuz300) (reduce2D (primMulInt (Neg vuz400) vuz300) (Pos vuz28))",fontsize=16,color="burlywood",shape="box"];6749[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3913 -> 6749[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6749 -> 3922[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6750[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3913 -> 6750[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6750 -> 3923[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6168[label="gcd (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6168 -> 6174[label="",style="solid", color="black", weight=3]; 108.70/78.84 6169[label="primQuotInt (Pos vuz27) (Pos vuz1660)",fontsize=16,color="burlywood",shape="box"];6751[label="vuz1660/Succ vuz16600",fontsize=10,color="white",style="solid",shape="box"];6169 -> 6751[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6751 -> 6175[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6752[label="vuz1660/Zero",fontsize=10,color="white",style="solid",shape="box"];6169 -> 6752[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6752 -> 6176[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6170[label="primQuotInt (Pos vuz27) (Neg vuz1660)",fontsize=16,color="burlywood",shape="box"];6753[label="vuz1660/Succ vuz16600",fontsize=10,color="white",style="solid",shape="box"];6170 -> 6753[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6753 -> 6177[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6754[label="vuz1660/Zero",fontsize=10,color="white",style="solid",shape="box"];6170 -> 6754[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6754 -> 6178[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 3915[label="(foldl' (*) $! (*) (vuz103 :% vuz89) vuz310)",fontsize=16,color="black",shape="box"];3915 -> 3925[label="",style="solid", color="black", weight=3]; 108.70/78.84 3916[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3917[label="primQuotInt (primMulInt (Pos vuz400) vuz300) (reduce2D (primMulInt (Pos vuz400) vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6755[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3917 -> 6755[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6755 -> 3926[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6756[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3917 -> 6756[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6756 -> 3927[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 3918[label="primQuotInt (primMulInt (Neg vuz400) vuz300) (reduce2D (primMulInt (Neg vuz400) vuz300) (Neg vuz34))",fontsize=16,color="burlywood",shape="box"];6757[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 6757[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6757 -> 3928[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6758[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 6758[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6758 -> 3929[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 4990[label="gcd (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4990 -> 4996[label="",style="solid", color="black", weight=3]; 108.70/78.84 4991[label="primQuotInt (Neg vuz122) (Pos vuz1230)",fontsize=16,color="burlywood",shape="box"];6759[label="vuz1230/Succ vuz12300",fontsize=10,color="white",style="solid",shape="box"];4991 -> 6759[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6759 -> 4997[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6760[label="vuz1230/Zero",fontsize=10,color="white",style="solid",shape="box"];4991 -> 6760[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6760 -> 4998[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 4992[label="primQuotInt (Neg vuz122) (Neg vuz1230)",fontsize=16,color="burlywood",shape="box"];6761[label="vuz1230/Succ vuz12300",fontsize=10,color="white",style="solid",shape="box"];4992 -> 6761[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6761 -> 4999[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6762[label="vuz1230/Zero",fontsize=10,color="white",style="solid",shape="box"];4992 -> 6762[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6762 -> 5000[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 540 -> 513[label="",style="dashed", color="red", weight=0]; 108.70/78.84 540[label="primPlusNat vuz3700 vuz301000",fontsize=16,color="magenta"];540 -> 549[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 540 -> 550[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3920[label="primQuotInt (primMulInt (Pos vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Pos vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3920 -> 3931[label="",style="solid", color="black", weight=3]; 108.70/78.84 3921[label="primQuotInt (primMulInt (Pos vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Neg vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3921 -> 3932[label="",style="solid", color="black", weight=3]; 108.70/78.84 3922[label="primQuotInt (primMulInt (Neg vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Pos vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3922 -> 3933[label="",style="solid", color="black", weight=3]; 108.70/78.84 3923[label="primQuotInt (primMulInt (Neg vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Neg vuz3000)) (Pos vuz28))",fontsize=16,color="black",shape="box"];3923 -> 3934[label="",style="solid", color="black", weight=3]; 108.70/78.84 6174[label="gcd3 (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6174 -> 6186[label="",style="solid", color="black", weight=3]; 108.70/78.84 6175[label="primQuotInt (Pos vuz27) (Pos (Succ vuz16600))",fontsize=16,color="black",shape="box"];6175 -> 6187[label="",style="solid", color="black", weight=3]; 108.70/78.84 6176[label="primQuotInt (Pos vuz27) (Pos Zero)",fontsize=16,color="black",shape="box"];6176 -> 6188[label="",style="solid", color="black", weight=3]; 108.70/78.84 6177[label="primQuotInt (Pos vuz27) (Neg (Succ vuz16600))",fontsize=16,color="black",shape="box"];6177 -> 6189[label="",style="solid", color="black", weight=3]; 108.70/78.84 6178[label="primQuotInt (Pos vuz27) (Neg Zero)",fontsize=16,color="black",shape="box"];6178 -> 6190[label="",style="solid", color="black", weight=3]; 108.70/78.84 3925 -> 11[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3925[label="((*) (vuz103 :% vuz89) vuz310 `seq` foldl' (*) ((*) (vuz103 :% vuz89) vuz310))",fontsize=16,color="magenta"];3925 -> 3936[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3925 -> 3937[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3925 -> 3938[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3925 -> 3939[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3926[label="primQuotInt (primMulInt (Pos vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Pos vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3926 -> 3940[label="",style="solid", color="black", weight=3]; 108.70/78.84 3927[label="primQuotInt (primMulInt (Pos vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Pos vuz400) (Neg vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3927 -> 3941[label="",style="solid", color="black", weight=3]; 108.70/78.84 3928[label="primQuotInt (primMulInt (Neg vuz400) (Pos vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Pos vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3928 -> 3942[label="",style="solid", color="black", weight=3]; 108.70/78.84 3929[label="primQuotInt (primMulInt (Neg vuz400) (Neg vuz3000)) (reduce2D (primMulInt (Neg vuz400) (Neg vuz3000)) (Neg vuz34))",fontsize=16,color="black",shape="box"];3929 -> 3943[label="",style="solid", color="black", weight=3]; 108.70/78.84 4996[label="gcd3 (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];4996 -> 5008[label="",style="solid", color="black", weight=3]; 108.70/78.84 4997[label="primQuotInt (Neg vuz122) (Pos (Succ vuz12300))",fontsize=16,color="black",shape="box"];4997 -> 5009[label="",style="solid", color="black", weight=3]; 108.70/78.84 4998[label="primQuotInt (Neg vuz122) (Pos Zero)",fontsize=16,color="black",shape="box"];4998 -> 5010[label="",style="solid", color="black", weight=3]; 108.70/78.84 4999[label="primQuotInt (Neg vuz122) (Neg (Succ vuz12300))",fontsize=16,color="black",shape="box"];4999 -> 5011[label="",style="solid", color="black", weight=3]; 108.70/78.84 5000[label="primQuotInt (Neg vuz122) (Neg Zero)",fontsize=16,color="black",shape="box"];5000 -> 5012[label="",style="solid", color="black", weight=3]; 108.70/78.84 549[label="vuz301000",fontsize=16,color="green",shape="box"];550[label="vuz3700",fontsize=16,color="green",shape="box"];3931 -> 5758[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3931[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3931 -> 5763[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3931 -> 5764[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3932 -> 4543[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3932[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3932 -> 4552[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3932 -> 4553[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3933 -> 4543[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3933[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3933 -> 4554[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3933 -> 4555[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3934 -> 5758[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3934[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28))",fontsize=16,color="magenta"];3934 -> 5765[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3934 -> 5766[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6186[label="gcd2 (vuz40 * vuz300 == fromInt (Pos Zero)) (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6186 -> 6215[label="",style="solid", color="black", weight=3]; 108.70/78.84 6187[label="Pos (primDivNatS vuz27 (Succ vuz16600))",fontsize=16,color="green",shape="box"];6187 -> 6216[label="",style="dashed", color="green", weight=3]; 108.70/78.84 6188 -> 5010[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6188[label="error []",fontsize=16,color="magenta"];6189[label="Neg (primDivNatS vuz27 (Succ vuz16600))",fontsize=16,color="green",shape="box"];6189 -> 6217[label="",style="dashed", color="green", weight=3]; 108.70/78.84 6190 -> 5010[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6190[label="error []",fontsize=16,color="magenta"];3936[label="vuz311",fontsize=16,color="green",shape="box"];3937[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3938[label="vuz103 :% vuz89",fontsize=16,color="green",shape="box"];3939[label="vuz310",fontsize=16,color="green",shape="box"];3940 -> 5758[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3940[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3940 -> 5768[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3940 -> 5769[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3941 -> 4543[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3941[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3941 -> 4556[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3941 -> 4557[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3942 -> 4543[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3942[label="primQuotInt (Neg (primMulNat vuz400 vuz3000)) (reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3942 -> 4558[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3942 -> 4559[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3943 -> 5758[label="",style="dashed", color="red", weight=0]; 108.70/78.84 3943[label="primQuotInt (Pos (primMulNat vuz400 vuz3000)) (reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34))",fontsize=16,color="magenta"];3943 -> 5770[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 3943 -> 5771[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5008[label="gcd2 (vuz40 * vuz300 == fromInt (Pos Zero)) (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];5008 -> 5033[label="",style="solid", color="black", weight=3]; 108.70/78.84 5009[label="Neg (primDivNatS vuz122 (Succ vuz12300))",fontsize=16,color="green",shape="box"];5009 -> 5034[label="",style="dashed", color="green", weight=3]; 108.70/78.84 5010[label="error []",fontsize=16,color="black",shape="triangle"];5010 -> 5035[label="",style="solid", color="black", weight=3]; 108.70/78.84 5011[label="Pos (primDivNatS vuz122 (Succ vuz12300))",fontsize=16,color="green",shape="box"];5011 -> 5036[label="",style="dashed", color="green", weight=3]; 108.70/78.84 5012 -> 5010[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5012[label="error []",fontsize=16,color="magenta"];5763 -> 6171[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5763[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];5763 -> 6172[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5764 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5764[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5764 -> 6179[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5764 -> 6180[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4552 -> 4993[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4552[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];4552 -> 4994[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4553 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4553[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4553 -> 5001[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4553 -> 5002[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4554 -> 4993[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4554[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];4554 -> 4995[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4555 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4555[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4555 -> 5003[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4555 -> 5004[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5765 -> 6171[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5765[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];5765 -> 6173[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5766 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5766[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5766 -> 6181[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5766 -> 6182[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6215[label="gcd2 (primEqInt (vuz40 * vuz300) (fromInt (Pos Zero))) (vuz40 * vuz300) (Pos vuz28)",fontsize=16,color="black",shape="box"];6215 -> 6231[label="",style="solid", color="black", weight=3]; 108.70/78.84 6216 -> 5034[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6216[label="primDivNatS vuz27 (Succ vuz16600)",fontsize=16,color="magenta"];6216 -> 6232[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6216 -> 6233[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6217 -> 5034[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6217[label="primDivNatS vuz27 (Succ vuz16600)",fontsize=16,color="magenta"];6217 -> 6234[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6217 -> 6235[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5768 -> 6183[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5768[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5768 -> 6184[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5769 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5769[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5769 -> 6191[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5769 -> 6192[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4556 -> 5005[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4556[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];4556 -> 5006[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4557 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4557[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4557 -> 5013[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4557 -> 5014[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4558 -> 5005[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4558[label="reduce2D (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];4558 -> 5007[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4559 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4559[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4559 -> 5015[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4559 -> 5016[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5770 -> 6183[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5770[label="reduce2D (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5770 -> 6185[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5771 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5771[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5771 -> 6193[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5771 -> 6194[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5033[label="gcd2 (primEqInt (vuz40 * vuz300) (fromInt (Pos Zero))) (vuz40 * vuz300) (Neg vuz34)",fontsize=16,color="black",shape="box"];5033 -> 5047[label="",style="solid", color="black", weight=3]; 108.70/78.84 5034[label="primDivNatS vuz122 (Succ vuz12300)",fontsize=16,color="burlywood",shape="triangle"];6763[label="vuz122/Succ vuz1220",fontsize=10,color="white",style="solid",shape="box"];5034 -> 6763[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6763 -> 5048[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6764[label="vuz122/Zero",fontsize=10,color="white",style="solid",shape="box"];5034 -> 6764[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6764 -> 5049[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5035[label="error []",fontsize=16,color="red",shape="box"];5036 -> 5034[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5036[label="primDivNatS vuz122 (Succ vuz12300)",fontsize=16,color="magenta"];5036 -> 5050[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6172 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6172[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6172 -> 6195[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6172 -> 6196[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6171[label="reduce2D (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];6171 -> 6197[label="",style="solid", color="black", weight=3]; 108.70/78.84 6179[label="vuz400",fontsize=16,color="green",shape="box"];6180[label="vuz3000",fontsize=16,color="green",shape="box"];4994 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4994[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4994 -> 5017[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4994 -> 5018[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4993[label="reduce2D (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="triangle"];4993 -> 5019[label="",style="solid", color="black", weight=3]; 108.70/78.84 5001[label="vuz400",fontsize=16,color="green",shape="box"];5002[label="vuz3000",fontsize=16,color="green",shape="box"];4995 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 4995[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];4995 -> 5020[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 4995 -> 5021[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5003[label="vuz400",fontsize=16,color="green",shape="box"];5004[label="vuz3000",fontsize=16,color="green",shape="box"];6173 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6173[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6173 -> 6198[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6173 -> 6199[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6181[label="vuz400",fontsize=16,color="green",shape="box"];6182[label="vuz3000",fontsize=16,color="green",shape="box"];6231[label="gcd2 (primEqInt (primMulInt vuz40 vuz300) (fromInt (Pos Zero))) (primMulInt vuz40 vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6765[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];6231 -> 6765[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6765 -> 6247[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6766[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];6231 -> 6766[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6766 -> 6248[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6232[label="vuz16600",fontsize=16,color="green",shape="box"];6233[label="vuz27",fontsize=16,color="green",shape="box"];6234[label="vuz16600",fontsize=16,color="green",shape="box"];6235[label="vuz27",fontsize=16,color="green",shape="box"];6184 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6184[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6184 -> 6200[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6184 -> 6201[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6183[label="reduce2D (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];6183 -> 6202[label="",style="solid", color="black", weight=3]; 108.70/78.84 6191[label="vuz400",fontsize=16,color="green",shape="box"];6192[label="vuz3000",fontsize=16,color="green",shape="box"];5006 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5006[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5006 -> 5022[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5006 -> 5023[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5005[label="reduce2D (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];5005 -> 5024[label="",style="solid", color="black", weight=3]; 108.70/78.84 5013[label="vuz400",fontsize=16,color="green",shape="box"];5014[label="vuz3000",fontsize=16,color="green",shape="box"];5007 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5007[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5007 -> 5025[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5007 -> 5026[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5015[label="vuz400",fontsize=16,color="green",shape="box"];5016[label="vuz3000",fontsize=16,color="green",shape="box"];6185 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6185[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6185 -> 6203[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6185 -> 6204[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6193[label="vuz400",fontsize=16,color="green",shape="box"];6194[label="vuz3000",fontsize=16,color="green",shape="box"];5047[label="gcd2 (primEqInt (primMulInt vuz40 vuz300) (fromInt (Pos Zero))) (primMulInt vuz40 vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6767[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];5047 -> 6767[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6767 -> 5059[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6768[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];5047 -> 6768[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6768 -> 5060[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5048[label="primDivNatS (Succ vuz1220) (Succ vuz12300)",fontsize=16,color="black",shape="box"];5048 -> 5061[label="",style="solid", color="black", weight=3]; 108.70/78.84 5049[label="primDivNatS Zero (Succ vuz12300)",fontsize=16,color="black",shape="box"];5049 -> 5062[label="",style="solid", color="black", weight=3]; 108.70/78.84 5050[label="vuz12300",fontsize=16,color="green",shape="box"];6195[label="vuz400",fontsize=16,color="green",shape="box"];6196[label="vuz3000",fontsize=16,color="green",shape="box"];6197[label="gcd (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6197 -> 6218[label="",style="solid", color="black", weight=3]; 108.70/78.84 5017[label="vuz400",fontsize=16,color="green",shape="box"];5018[label="vuz3000",fontsize=16,color="green",shape="box"];5019[label="gcd (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5019 -> 5037[label="",style="solid", color="black", weight=3]; 108.70/78.84 5020[label="vuz400",fontsize=16,color="green",shape="box"];5021[label="vuz3000",fontsize=16,color="green",shape="box"];6198[label="vuz400",fontsize=16,color="green",shape="box"];6199[label="vuz3000",fontsize=16,color="green",shape="box"];6247[label="gcd2 (primEqInt (primMulInt (Pos vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6769[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];6247 -> 6769[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6769 -> 6258[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6770[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];6247 -> 6770[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6770 -> 6259[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6248[label="gcd2 (primEqInt (primMulInt (Neg vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) vuz300) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6771[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];6248 -> 6771[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6771 -> 6260[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6772[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];6248 -> 6772[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6772 -> 6261[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6200[label="vuz400",fontsize=16,color="green",shape="box"];6201[label="vuz3000",fontsize=16,color="green",shape="box"];6202[label="gcd (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6202 -> 6219[label="",style="solid", color="black", weight=3]; 108.70/78.84 5022[label="vuz400",fontsize=16,color="green",shape="box"];5023[label="vuz3000",fontsize=16,color="green",shape="box"];5024[label="gcd (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5024 -> 5038[label="",style="solid", color="black", weight=3]; 108.70/78.84 5025[label="vuz400",fontsize=16,color="green",shape="box"];5026[label="vuz3000",fontsize=16,color="green",shape="box"];6203[label="vuz400",fontsize=16,color="green",shape="box"];6204[label="vuz3000",fontsize=16,color="green",shape="box"];5059[label="gcd2 (primEqInt (primMulInt (Pos vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6773[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];5059 -> 6773[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6773 -> 5071[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6774[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];5059 -> 6774[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6774 -> 5072[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5060[label="gcd2 (primEqInt (primMulInt (Neg vuz400) vuz300) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) vuz300) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6775[label="vuz300/Pos vuz3000",fontsize=10,color="white",style="solid",shape="box"];5060 -> 6775[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6775 -> 5073[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6776[label="vuz300/Neg vuz3000",fontsize=10,color="white",style="solid",shape="box"];5060 -> 6776[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6776 -> 5074[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5061[label="primDivNatS0 vuz1220 vuz12300 (primGEqNatS vuz1220 vuz12300)",fontsize=16,color="burlywood",shape="box"];6777[label="vuz1220/Succ vuz12200",fontsize=10,color="white",style="solid",shape="box"];5061 -> 6777[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6777 -> 5075[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6778[label="vuz1220/Zero",fontsize=10,color="white",style="solid",shape="box"];5061 -> 6778[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6778 -> 5076[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5062[label="Zero",fontsize=16,color="green",shape="box"];6218[label="gcd3 (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6218 -> 6236[label="",style="solid", color="black", weight=3]; 108.70/78.84 5037[label="gcd3 (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5037 -> 5051[label="",style="solid", color="black", weight=3]; 108.70/78.84 6258[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Pos vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6258 -> 6274[label="",style="solid", color="black", weight=3]; 108.70/78.84 6259[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Neg vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6259 -> 6275[label="",style="solid", color="black", weight=3]; 108.70/78.84 6260[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Pos vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6260 -> 6276[label="",style="solid", color="black", weight=3]; 108.70/78.84 6261[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Neg vuz3000)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6261 -> 6277[label="",style="solid", color="black", weight=3]; 108.70/78.84 6219[label="gcd3 (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6219 -> 6237[label="",style="solid", color="black", weight=3]; 108.70/78.84 5038[label="gcd3 (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5038 -> 5052[label="",style="solid", color="black", weight=3]; 108.70/78.84 5071[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Pos vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5071 -> 5088[label="",style="solid", color="black", weight=3]; 108.70/78.84 5072[label="gcd2 (primEqInt (primMulInt (Pos vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Pos vuz400) (Neg vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5072 -> 5089[label="",style="solid", color="black", weight=3]; 108.70/78.84 5073[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Pos vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Pos vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5073 -> 5090[label="",style="solid", color="black", weight=3]; 108.70/78.84 5074[label="gcd2 (primEqInt (primMulInt (Neg vuz400) (Neg vuz3000)) (fromInt (Pos Zero))) (primMulInt (Neg vuz400) (Neg vuz3000)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5074 -> 5091[label="",style="solid", color="black", weight=3]; 108.70/78.84 5075[label="primDivNatS0 (Succ vuz12200) vuz12300 (primGEqNatS (Succ vuz12200) vuz12300)",fontsize=16,color="burlywood",shape="box"];6779[label="vuz12300/Succ vuz123000",fontsize=10,color="white",style="solid",shape="box"];5075 -> 6779[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6779 -> 5092[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6780[label="vuz12300/Zero",fontsize=10,color="white",style="solid",shape="box"];5075 -> 6780[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6780 -> 5093[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5076[label="primDivNatS0 Zero vuz12300 (primGEqNatS Zero vuz12300)",fontsize=16,color="burlywood",shape="box"];6781[label="vuz12300/Succ vuz123000",fontsize=10,color="white",style="solid",shape="box"];5076 -> 6781[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6781 -> 5094[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6782[label="vuz12300/Zero",fontsize=10,color="white",style="solid",shape="box"];5076 -> 6782[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6782 -> 5095[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6236[label="gcd2 (Pos vuz167 == fromInt (Pos Zero)) (Pos vuz167) (Pos vuz28)",fontsize=16,color="black",shape="box"];6236 -> 6249[label="",style="solid", color="black", weight=3]; 108.70/78.84 5051[label="gcd2 (Neg vuz124 == fromInt (Pos Zero)) (Neg vuz124) (Pos vuz28)",fontsize=16,color="black",shape="box"];5051 -> 5063[label="",style="solid", color="black", weight=3]; 108.70/78.84 6274 -> 6249[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6274[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6274 -> 6289[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6275 -> 5063[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6275[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6275 -> 6290[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6276 -> 5063[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6276[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6276 -> 6291[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6277 -> 6249[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6277[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Pos vuz28)",fontsize=16,color="magenta"];6277 -> 6292[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6237[label="gcd2 (Pos vuz168 == fromInt (Pos Zero)) (Pos vuz168) (Neg vuz34)",fontsize=16,color="black",shape="box"];6237 -> 6250[label="",style="solid", color="black", weight=3]; 108.70/78.84 5052[label="gcd2 (Neg vuz125 == fromInt (Pos Zero)) (Neg vuz125) (Neg vuz34)",fontsize=16,color="black",shape="box"];5052 -> 5064[label="",style="solid", color="black", weight=3]; 108.70/78.84 5088 -> 5105[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5088[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5088 -> 5106[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5088 -> 5107[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5089 -> 5064[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5089[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5089 -> 5110[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5090 -> 5064[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5090[label="gcd2 (primEqInt (Neg (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Neg (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5090 -> 5111[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5091 -> 5105[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5091[label="gcd2 (primEqInt (Pos (primMulNat vuz400 vuz3000)) (fromInt (Pos Zero))) (Pos (primMulNat vuz400 vuz3000)) (Neg vuz34)",fontsize=16,color="magenta"];5091 -> 5108[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5091 -> 5109[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5092[label="primDivNatS0 (Succ vuz12200) (Succ vuz123000) (primGEqNatS (Succ vuz12200) (Succ vuz123000))",fontsize=16,color="black",shape="box"];5092 -> 5112[label="",style="solid", color="black", weight=3]; 108.70/78.84 5093[label="primDivNatS0 (Succ vuz12200) Zero (primGEqNatS (Succ vuz12200) Zero)",fontsize=16,color="black",shape="box"];5093 -> 5113[label="",style="solid", color="black", weight=3]; 108.70/78.84 5094[label="primDivNatS0 Zero (Succ vuz123000) (primGEqNatS Zero (Succ vuz123000))",fontsize=16,color="black",shape="box"];5094 -> 5114[label="",style="solid", color="black", weight=3]; 108.70/78.84 5095[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];5095 -> 5115[label="",style="solid", color="black", weight=3]; 108.70/78.84 6249[label="gcd2 (primEqInt (Pos vuz167) (fromInt (Pos Zero))) (Pos vuz167) (Pos vuz28)",fontsize=16,color="burlywood",shape="triangle"];6783[label="vuz167/Succ vuz1670",fontsize=10,color="white",style="solid",shape="box"];6249 -> 6783[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6783 -> 6262[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6784[label="vuz167/Zero",fontsize=10,color="white",style="solid",shape="box"];6249 -> 6784[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6784 -> 6263[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5063[label="gcd2 (primEqInt (Neg vuz124) (fromInt (Pos Zero))) (Neg vuz124) (Pos vuz28)",fontsize=16,color="burlywood",shape="triangle"];6785[label="vuz124/Succ vuz1240",fontsize=10,color="white",style="solid",shape="box"];5063 -> 6785[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6785 -> 5077[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6786[label="vuz124/Zero",fontsize=10,color="white",style="solid",shape="box"];5063 -> 6786[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6786 -> 5078[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6289 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6289[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6289 -> 6305[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6289 -> 6306[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6290 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6290[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6290 -> 6307[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6290 -> 6308[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6291 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6291[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6291 -> 6309[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6291 -> 6310[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6292 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6292[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];6292 -> 6311[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6292 -> 6312[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6250 -> 5105[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6250[label="gcd2 (primEqInt (Pos vuz168) (fromInt (Pos Zero))) (Pos vuz168) (Neg vuz34)",fontsize=16,color="magenta"];6250 -> 6264[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6250 -> 6265[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5064[label="gcd2 (primEqInt (Neg vuz125) (fromInt (Pos Zero))) (Neg vuz125) (Neg vuz34)",fontsize=16,color="burlywood",shape="triangle"];6787[label="vuz125/Succ vuz1250",fontsize=10,color="white",style="solid",shape="box"];5064 -> 6787[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6787 -> 5079[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6788[label="vuz125/Zero",fontsize=10,color="white",style="solid",shape="box"];5064 -> 6788[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6788 -> 5080[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5106 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5106[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5106 -> 5116[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5106 -> 5117[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5107 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5107[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5107 -> 5118[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5107 -> 5119[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5105[label="gcd2 (primEqInt (Pos vuz127) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="burlywood",shape="triangle"];6789[label="vuz127/Succ vuz1270",fontsize=10,color="white",style="solid",shape="box"];5105 -> 6789[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6789 -> 5120[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6790[label="vuz127/Zero",fontsize=10,color="white",style="solid",shape="box"];5105 -> 6790[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6790 -> 5121[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5110 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5110[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5110 -> 5134[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5110 -> 5135[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5111 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5111[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5111 -> 5136[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5111 -> 5137[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5108 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5108[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5108 -> 5122[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5108 -> 5123[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5109 -> 305[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5109[label="primMulNat vuz400 vuz3000",fontsize=16,color="magenta"];5109 -> 5124[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5109 -> 5125[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5112 -> 5709[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5112[label="primDivNatS0 (Succ vuz12200) (Succ vuz123000) (primGEqNatS vuz12200 vuz123000)",fontsize=16,color="magenta"];5112 -> 5710[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5112 -> 5711[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5112 -> 5712[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5112 -> 5713[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5113[label="primDivNatS0 (Succ vuz12200) Zero True",fontsize=16,color="black",shape="box"];5113 -> 5140[label="",style="solid", color="black", weight=3]; 108.70/78.84 5114[label="primDivNatS0 Zero (Succ vuz123000) False",fontsize=16,color="black",shape="box"];5114 -> 5141[label="",style="solid", color="black", weight=3]; 108.70/78.84 5115[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];5115 -> 5142[label="",style="solid", color="black", weight=3]; 108.70/78.84 6262[label="gcd2 (primEqInt (Pos (Succ vuz1670)) (fromInt (Pos Zero))) (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6262 -> 6278[label="",style="solid", color="black", weight=3]; 108.70/78.84 6263[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6263 -> 6279[label="",style="solid", color="black", weight=3]; 108.70/78.84 5077[label="gcd2 (primEqInt (Neg (Succ vuz1240)) (fromInt (Pos Zero))) (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5077 -> 5096[label="",style="solid", color="black", weight=3]; 108.70/78.84 5078[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5078 -> 5097[label="",style="solid", color="black", weight=3]; 108.70/78.84 6305[label="vuz400",fontsize=16,color="green",shape="box"];6306[label="vuz3000",fontsize=16,color="green",shape="box"];6307[label="vuz400",fontsize=16,color="green",shape="box"];6308[label="vuz3000",fontsize=16,color="green",shape="box"];6309[label="vuz400",fontsize=16,color="green",shape="box"];6310[label="vuz3000",fontsize=16,color="green",shape="box"];6311[label="vuz400",fontsize=16,color="green",shape="box"];6312[label="vuz3000",fontsize=16,color="green",shape="box"];6264[label="vuz168",fontsize=16,color="green",shape="box"];6265[label="vuz168",fontsize=16,color="green",shape="box"];5079[label="gcd2 (primEqInt (Neg (Succ vuz1250)) (fromInt (Pos Zero))) (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5079 -> 5098[label="",style="solid", color="black", weight=3]; 108.70/78.84 5080[label="gcd2 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5080 -> 5099[label="",style="solid", color="black", weight=3]; 108.70/78.84 5116[label="vuz400",fontsize=16,color="green",shape="box"];5117[label="vuz3000",fontsize=16,color="green",shape="box"];5118[label="vuz400",fontsize=16,color="green",shape="box"];5119[label="vuz3000",fontsize=16,color="green",shape="box"];5120[label="gcd2 (primEqInt (Pos (Succ vuz1270)) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5120 -> 5143[label="",style="solid", color="black", weight=3]; 108.70/78.84 5121[label="gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5121 -> 5144[label="",style="solid", color="black", weight=3]; 108.70/78.84 5134[label="vuz400",fontsize=16,color="green",shape="box"];5135[label="vuz3000",fontsize=16,color="green",shape="box"];5136[label="vuz400",fontsize=16,color="green",shape="box"];5137[label="vuz3000",fontsize=16,color="green",shape="box"];5122[label="vuz400",fontsize=16,color="green",shape="box"];5123[label="vuz3000",fontsize=16,color="green",shape="box"];5124[label="vuz400",fontsize=16,color="green",shape="box"];5125[label="vuz3000",fontsize=16,color="green",shape="box"];5710[label="vuz12200",fontsize=16,color="green",shape="box"];5711[label="vuz12200",fontsize=16,color="green",shape="box"];5712[label="vuz123000",fontsize=16,color="green",shape="box"];5713[label="vuz123000",fontsize=16,color="green",shape="box"];5709[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS vuz164 vuz165)",fontsize=16,color="burlywood",shape="triangle"];6791[label="vuz164/Succ vuz1640",fontsize=10,color="white",style="solid",shape="box"];5709 -> 6791[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6791 -> 5750[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6792[label="vuz164/Zero",fontsize=10,color="white",style="solid",shape="box"];5709 -> 6792[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6792 -> 5751[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5140[label="Succ (primDivNatS (primMinusNatS (Succ vuz12200) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5140 -> 5157[label="",style="dashed", color="green", weight=3]; 108.70/78.84 5141[label="Zero",fontsize=16,color="green",shape="box"];5142[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5142 -> 5158[label="",style="dashed", color="green", weight=3]; 108.70/78.84 6278[label="gcd2 (primEqInt (Pos (Succ vuz1670)) (Pos Zero)) (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6278 -> 6293[label="",style="solid", color="black", weight=3]; 108.70/78.84 6279[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6279 -> 6294[label="",style="solid", color="black", weight=3]; 108.70/78.84 5096[label="gcd2 (primEqInt (Neg (Succ vuz1240)) (Pos Zero)) (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5096 -> 5126[label="",style="solid", color="black", weight=3]; 108.70/78.84 5097[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5097 -> 5127[label="",style="solid", color="black", weight=3]; 108.70/78.84 5098[label="gcd2 (primEqInt (Neg (Succ vuz1250)) (Pos Zero)) (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5098 -> 5128[label="",style="solid", color="black", weight=3]; 108.70/78.84 5099[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5099 -> 5129[label="",style="solid", color="black", weight=3]; 108.70/78.84 5143[label="gcd2 (primEqInt (Pos (Succ vuz1270)) (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5143 -> 5159[label="",style="solid", color="black", weight=3]; 108.70/78.84 5144[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5144 -> 5160[label="",style="solid", color="black", weight=3]; 108.70/78.84 5750[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) vuz165)",fontsize=16,color="burlywood",shape="box"];6793[label="vuz165/Succ vuz1650",fontsize=10,color="white",style="solid",shape="box"];5750 -> 6793[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6793 -> 6205[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6794[label="vuz165/Zero",fontsize=10,color="white",style="solid",shape="box"];5750 -> 6794[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6794 -> 6206[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5751[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero vuz165)",fontsize=16,color="burlywood",shape="box"];6795[label="vuz165/Succ vuz1650",fontsize=10,color="white",style="solid",shape="box"];5751 -> 6795[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6795 -> 6207[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6796[label="vuz165/Zero",fontsize=10,color="white",style="solid",shape="box"];5751 -> 6796[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6796 -> 6208[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5157 -> 5034[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5157[label="primDivNatS (primMinusNatS (Succ vuz12200) Zero) (Succ Zero)",fontsize=16,color="magenta"];5157 -> 5173[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5157 -> 5174[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5158 -> 5034[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5158[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];5158 -> 5175[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5158 -> 5176[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6293[label="gcd2 False (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6293 -> 6313[label="",style="solid", color="black", weight=3]; 108.70/78.84 6294[label="gcd2 True (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6294 -> 6314[label="",style="solid", color="black", weight=3]; 108.70/78.84 5126[label="gcd2 False (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5126 -> 5145[label="",style="solid", color="black", weight=3]; 108.70/78.84 5127[label="gcd2 True (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5127 -> 5146[label="",style="solid", color="black", weight=3]; 108.70/78.84 5128[label="gcd2 False (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5128 -> 5147[label="",style="solid", color="black", weight=3]; 108.70/78.84 5129[label="gcd2 True (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5129 -> 5148[label="",style="solid", color="black", weight=3]; 108.70/78.84 5159[label="gcd2 False (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5159 -> 5177[label="",style="solid", color="black", weight=3]; 108.70/78.84 5160[label="gcd2 True (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5160 -> 5178[label="",style="solid", color="black", weight=3]; 108.70/78.84 6205[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) (Succ vuz1650))",fontsize=16,color="black",shape="box"];6205 -> 6220[label="",style="solid", color="black", weight=3]; 108.70/78.84 6206[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS (Succ vuz1640) Zero)",fontsize=16,color="black",shape="box"];6206 -> 6221[label="",style="solid", color="black", weight=3]; 108.70/78.84 6207[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero (Succ vuz1650))",fontsize=16,color="black",shape="box"];6207 -> 6222[label="",style="solid", color="black", weight=3]; 108.70/78.84 6208[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6208 -> 6223[label="",style="solid", color="black", weight=3]; 108.70/78.84 5173[label="Zero",fontsize=16,color="green",shape="box"];5174[label="primMinusNatS (Succ vuz12200) Zero",fontsize=16,color="black",shape="triangle"];5174 -> 5194[label="",style="solid", color="black", weight=3]; 108.70/78.84 5175[label="Zero",fontsize=16,color="green",shape="box"];5176[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];5176 -> 5195[label="",style="solid", color="black", weight=3]; 108.70/78.84 6313[label="gcd0 (Pos (Succ vuz1670)) (Pos vuz28)",fontsize=16,color="black",shape="box"];6313 -> 6329[label="",style="solid", color="black", weight=3]; 108.70/78.84 6314[label="gcd1 (Pos vuz28 == fromInt (Pos Zero)) (Pos Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];6314 -> 6330[label="",style="solid", color="black", weight=3]; 108.70/78.84 5145[label="gcd0 (Neg (Succ vuz1240)) (Pos vuz28)",fontsize=16,color="black",shape="box"];5145 -> 5161[label="",style="solid", color="black", weight=3]; 108.70/78.84 5146[label="gcd1 (Pos vuz28 == fromInt (Pos Zero)) (Neg Zero) (Pos vuz28)",fontsize=16,color="black",shape="box"];5146 -> 5162[label="",style="solid", color="black", weight=3]; 108.70/78.84 5147[label="gcd0 (Neg (Succ vuz1250)) (Neg vuz34)",fontsize=16,color="black",shape="box"];5147 -> 5163[label="",style="solid", color="black", weight=3]; 108.70/78.84 5148[label="gcd1 (Neg vuz34 == fromInt (Pos Zero)) (Neg Zero) (Neg vuz34)",fontsize=16,color="black",shape="box"];5148 -> 5164[label="",style="solid", color="black", weight=3]; 108.70/78.84 5177[label="gcd0 (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="triangle"];5177 -> 5196[label="",style="solid", color="black", weight=3]; 108.70/78.84 5178[label="gcd1 (Neg vuz34 == fromInt (Pos Zero)) (Pos vuz126) (Neg vuz34)",fontsize=16,color="black",shape="box"];5178 -> 5197[label="",style="solid", color="black", weight=3]; 108.70/78.84 6220 -> 5709[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6220[label="primDivNatS0 (Succ vuz162) (Succ vuz163) (primGEqNatS vuz1640 vuz1650)",fontsize=16,color="magenta"];6220 -> 6238[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6220 -> 6239[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6221[label="primDivNatS0 (Succ vuz162) (Succ vuz163) True",fontsize=16,color="black",shape="triangle"];6221 -> 6240[label="",style="solid", color="black", weight=3]; 108.70/78.84 6222[label="primDivNatS0 (Succ vuz162) (Succ vuz163) False",fontsize=16,color="black",shape="box"];6222 -> 6241[label="",style="solid", color="black", weight=3]; 108.70/78.84 6223 -> 6221[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6223[label="primDivNatS0 (Succ vuz162) (Succ vuz163) True",fontsize=16,color="magenta"];5194[label="Succ vuz12200",fontsize=16,color="green",shape="box"];5195[label="Zero",fontsize=16,color="green",shape="box"];6329 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6329[label="gcd0Gcd' (abs (Pos (Succ vuz1670))) (abs (Pos vuz28))",fontsize=16,color="magenta"];6329 -> 6349[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6329 -> 6350[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6330[label="gcd1 (primEqInt (Pos vuz28) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6797[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];6330 -> 6797[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6797 -> 6363[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6798[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];6330 -> 6798[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6798 -> 6364[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5161 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5161[label="gcd0Gcd' (abs (Neg (Succ vuz1240))) (abs (Pos vuz28))",fontsize=16,color="magenta"];5161 -> 6351[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5161 -> 6352[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5162[label="gcd1 (primEqInt (Pos vuz28) (fromInt (Pos Zero))) (Neg Zero) (Pos vuz28)",fontsize=16,color="burlywood",shape="box"];6799[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];5162 -> 6799[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6799 -> 5180[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6800[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];5162 -> 6800[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6800 -> 5181[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5163 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5163[label="gcd0Gcd' (abs (Neg (Succ vuz1250))) (abs (Neg vuz34))",fontsize=16,color="magenta"];5163 -> 6353[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5163 -> 6354[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5164[label="gcd1 (primEqInt (Neg vuz34) (fromInt (Pos Zero))) (Neg Zero) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6801[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];5164 -> 6801[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6801 -> 5183[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6802[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];5164 -> 6802[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6802 -> 5184[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 5196 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5196[label="gcd0Gcd' (abs (Pos vuz126)) (abs (Neg vuz34))",fontsize=16,color="magenta"];5196 -> 6355[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5196 -> 6356[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5197[label="gcd1 (primEqInt (Neg vuz34) (fromInt (Pos Zero))) (Pos vuz126) (Neg vuz34)",fontsize=16,color="burlywood",shape="box"];6803[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];5197 -> 6803[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6803 -> 5216[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6804[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];5197 -> 6804[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6804 -> 5217[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6238[label="vuz1640",fontsize=16,color="green",shape="box"];6239[label="vuz1650",fontsize=16,color="green",shape="box"];6240[label="Succ (primDivNatS (primMinusNatS (Succ vuz162) (Succ vuz163)) (Succ (Succ vuz163)))",fontsize=16,color="green",shape="box"];6240 -> 6251[label="",style="dashed", color="green", weight=3]; 108.70/78.84 6241[label="Zero",fontsize=16,color="green",shape="box"];6349[label="abs (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6349 -> 6365[label="",style="solid", color="black", weight=3]; 108.70/78.84 6350[label="abs (Pos vuz28)",fontsize=16,color="black",shape="triangle"];6350 -> 6366[label="",style="solid", color="black", weight=3]; 108.70/78.84 6348[label="gcd0Gcd' vuz170 vuz169",fontsize=16,color="black",shape="triangle"];6348 -> 6367[label="",style="solid", color="black", weight=3]; 108.70/78.84 6363[label="gcd1 (primEqInt (Pos (Succ vuz280)) (fromInt (Pos Zero))) (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6363 -> 6378[label="",style="solid", color="black", weight=3]; 108.70/78.84 6364[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6364 -> 6379[label="",style="solid", color="black", weight=3]; 108.70/78.84 6351[label="abs (Neg (Succ vuz1240))",fontsize=16,color="black",shape="triangle"];6351 -> 6368[label="",style="solid", color="black", weight=3]; 108.70/78.84 6352 -> 6350[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6352[label="abs (Pos vuz28)",fontsize=16,color="magenta"];5180[label="gcd1 (primEqInt (Pos (Succ vuz280)) (fromInt (Pos Zero))) (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5180 -> 5199[label="",style="solid", color="black", weight=3]; 108.70/78.84 5181[label="gcd1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5181 -> 5200[label="",style="solid", color="black", weight=3]; 108.70/78.84 6353 -> 6351[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6353[label="abs (Neg (Succ vuz1250))",fontsize=16,color="magenta"];6353 -> 6369[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6354[label="abs (Neg vuz34)",fontsize=16,color="black",shape="triangle"];6354 -> 6370[label="",style="solid", color="black", weight=3]; 108.70/78.84 5183[label="gcd1 (primEqInt (Neg (Succ vuz340)) (fromInt (Pos Zero))) (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5183 -> 5202[label="",style="solid", color="black", weight=3]; 108.70/78.84 5184[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5184 -> 5203[label="",style="solid", color="black", weight=3]; 108.70/78.84 6355 -> 6350[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6355[label="abs (Pos vuz126)",fontsize=16,color="magenta"];6355 -> 6371[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6356 -> 6354[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6356[label="abs (Neg vuz34)",fontsize=16,color="magenta"];5216[label="gcd1 (primEqInt (Neg (Succ vuz340)) (fromInt (Pos Zero))) (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5216 -> 5240[label="",style="solid", color="black", weight=3]; 108.70/78.84 5217[label="gcd1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5217 -> 5241[label="",style="solid", color="black", weight=3]; 108.70/78.84 6251 -> 5034[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6251[label="primDivNatS (primMinusNatS (Succ vuz162) (Succ vuz163)) (Succ (Succ vuz163))",fontsize=16,color="magenta"];6251 -> 6266[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6251 -> 6267[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6365[label="absReal (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6365 -> 6380[label="",style="solid", color="black", weight=3]; 108.70/78.84 6366[label="absReal (Pos vuz28)",fontsize=16,color="black",shape="box"];6366 -> 6381[label="",style="solid", color="black", weight=3]; 108.70/78.84 6367[label="gcd0Gcd'2 vuz170 vuz169",fontsize=16,color="black",shape="box"];6367 -> 6382[label="",style="solid", color="black", weight=3]; 108.70/78.84 6378[label="gcd1 (primEqInt (Pos (Succ vuz280)) (Pos Zero)) (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6378 -> 6385[label="",style="solid", color="black", weight=3]; 108.70/78.84 6379[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6379 -> 6386[label="",style="solid", color="black", weight=3]; 108.70/78.84 6368[label="absReal (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6368 -> 6383[label="",style="solid", color="black", weight=3]; 108.70/78.84 5199[label="gcd1 (primEqInt (Pos (Succ vuz280)) (Pos Zero)) (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5199 -> 5219[label="",style="solid", color="black", weight=3]; 108.70/78.84 5200[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5200 -> 5220[label="",style="solid", color="black", weight=3]; 108.70/78.84 6369[label="vuz1250",fontsize=16,color="green",shape="box"];6370[label="absReal (Neg vuz34)",fontsize=16,color="black",shape="box"];6370 -> 6384[label="",style="solid", color="black", weight=3]; 108.70/78.84 5202[label="gcd1 (primEqInt (Neg (Succ vuz340)) (Pos Zero)) (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5202 -> 5222[label="",style="solid", color="black", weight=3]; 108.70/78.84 5203[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5203 -> 5223[label="",style="solid", color="black", weight=3]; 108.70/78.84 6371[label="vuz126",fontsize=16,color="green",shape="box"];5240[label="gcd1 (primEqInt (Neg (Succ vuz340)) (Pos Zero)) (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5240 -> 5262[label="",style="solid", color="black", weight=3]; 108.70/78.84 5241[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5241 -> 5263[label="",style="solid", color="black", weight=3]; 108.70/78.84 6266[label="Succ vuz163",fontsize=16,color="green",shape="box"];6267[label="primMinusNatS (Succ vuz162) (Succ vuz163)",fontsize=16,color="black",shape="box"];6267 -> 6280[label="",style="solid", color="black", weight=3]; 108.70/78.84 6380[label="absReal2 (Pos (Succ vuz1670))",fontsize=16,color="black",shape="box"];6380 -> 6387[label="",style="solid", color="black", weight=3]; 108.70/78.84 6381[label="absReal2 (Pos vuz28)",fontsize=16,color="black",shape="box"];6381 -> 6388[label="",style="solid", color="black", weight=3]; 108.70/78.84 6382[label="gcd0Gcd'1 (vuz169 == fromInt (Pos Zero)) vuz170 vuz169",fontsize=16,color="black",shape="box"];6382 -> 6389[label="",style="solid", color="black", weight=3]; 108.70/78.84 6385[label="gcd1 False (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6385 -> 6392[label="",style="solid", color="black", weight=3]; 108.70/78.84 6386[label="gcd1 True (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];6386 -> 6393[label="",style="solid", color="black", weight=3]; 108.70/78.84 6383[label="absReal2 (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6383 -> 6390[label="",style="solid", color="black", weight=3]; 108.70/78.84 5219[label="gcd1 False (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5219 -> 5243[label="",style="solid", color="black", weight=3]; 108.70/78.84 5220[label="gcd1 True (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];5220 -> 5244[label="",style="solid", color="black", weight=3]; 108.70/78.84 6384[label="absReal2 (Neg vuz34)",fontsize=16,color="black",shape="box"];6384 -> 6391[label="",style="solid", color="black", weight=3]; 108.70/78.84 5222[label="gcd1 False (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5222 -> 5246[label="",style="solid", color="black", weight=3]; 108.70/78.84 5223[label="gcd1 True (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];5223 -> 5247[label="",style="solid", color="black", weight=3]; 108.70/78.84 5262[label="gcd1 False (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5262 -> 5281[label="",style="solid", color="black", weight=3]; 108.70/78.84 5263[label="gcd1 True (Pos vuz126) (Neg Zero)",fontsize=16,color="black",shape="box"];5263 -> 5282[label="",style="solid", color="black", weight=3]; 108.70/78.84 6280[label="primMinusNatS vuz162 vuz163",fontsize=16,color="burlywood",shape="triangle"];6805[label="vuz162/Succ vuz1620",fontsize=10,color="white",style="solid",shape="box"];6280 -> 6805[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6805 -> 6295[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6806[label="vuz162/Zero",fontsize=10,color="white",style="solid",shape="box"];6280 -> 6806[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6806 -> 6296[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6387[label="absReal1 (Pos (Succ vuz1670)) (Pos (Succ vuz1670) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6387 -> 6394[label="",style="solid", color="black", weight=3]; 108.70/78.84 6388[label="absReal1 (Pos vuz28) (Pos vuz28 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6388 -> 6395[label="",style="solid", color="black", weight=3]; 108.70/78.84 6389[label="gcd0Gcd'1 (primEqInt vuz169 (fromInt (Pos Zero))) vuz170 vuz169",fontsize=16,color="burlywood",shape="box"];6807[label="vuz169/Pos vuz1690",fontsize=10,color="white",style="solid",shape="box"];6389 -> 6807[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6807 -> 6396[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6808[label="vuz169/Neg vuz1690",fontsize=10,color="white",style="solid",shape="box"];6389 -> 6808[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6808 -> 6397[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6392[label="gcd0 (Pos Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];6392 -> 6400[label="",style="solid", color="black", weight=3]; 108.70/78.84 6393 -> 5010[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6393[label="error []",fontsize=16,color="magenta"];6390[label="absReal1 (Neg (Succ vuz1240)) (Neg (Succ vuz1240) >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6390 -> 6398[label="",style="solid", color="black", weight=3]; 108.70/78.84 5243[label="gcd0 (Neg Zero) (Pos (Succ vuz280))",fontsize=16,color="black",shape="box"];5243 -> 5265[label="",style="solid", color="black", weight=3]; 108.70/78.84 5244 -> 5010[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5244[label="error []",fontsize=16,color="magenta"];6391[label="absReal1 (Neg vuz34) (Neg vuz34 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];6391 -> 6399[label="",style="solid", color="black", weight=3]; 108.70/78.84 5246[label="gcd0 (Neg Zero) (Neg (Succ vuz340))",fontsize=16,color="black",shape="box"];5246 -> 5267[label="",style="solid", color="black", weight=3]; 108.70/78.84 5247 -> 5010[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5247[label="error []",fontsize=16,color="magenta"];5281 -> 5177[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5281[label="gcd0 (Pos vuz126) (Neg (Succ vuz340))",fontsize=16,color="magenta"];5281 -> 5305[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5282 -> 5010[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5282[label="error []",fontsize=16,color="magenta"];6295[label="primMinusNatS (Succ vuz1620) vuz163",fontsize=16,color="burlywood",shape="box"];6809[label="vuz163/Succ vuz1630",fontsize=10,color="white",style="solid",shape="box"];6295 -> 6809[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6809 -> 6315[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6810[label="vuz163/Zero",fontsize=10,color="white",style="solid",shape="box"];6295 -> 6810[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6810 -> 6316[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6296[label="primMinusNatS Zero vuz163",fontsize=16,color="burlywood",shape="box"];6811[label="vuz163/Succ vuz1630",fontsize=10,color="white",style="solid",shape="box"];6296 -> 6811[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6811 -> 6317[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6812[label="vuz163/Zero",fontsize=10,color="white",style="solid",shape="box"];6296 -> 6812[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6812 -> 6318[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6394[label="absReal1 (Pos (Succ vuz1670)) (compare (Pos (Succ vuz1670)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6394 -> 6401[label="",style="solid", color="black", weight=3]; 108.70/78.84 6395[label="absReal1 (Pos vuz28) (compare (Pos vuz28) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6395 -> 6402[label="",style="solid", color="black", weight=3]; 108.70/78.84 6396[label="gcd0Gcd'1 (primEqInt (Pos vuz1690) (fromInt (Pos Zero))) vuz170 (Pos vuz1690)",fontsize=16,color="burlywood",shape="box"];6813[label="vuz1690/Succ vuz16900",fontsize=10,color="white",style="solid",shape="box"];6396 -> 6813[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6813 -> 6403[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6814[label="vuz1690/Zero",fontsize=10,color="white",style="solid",shape="box"];6396 -> 6814[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6814 -> 6404[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6397[label="gcd0Gcd'1 (primEqInt (Neg vuz1690) (fromInt (Pos Zero))) vuz170 (Neg vuz1690)",fontsize=16,color="burlywood",shape="box"];6815[label="vuz1690/Succ vuz16900",fontsize=10,color="white",style="solid",shape="box"];6397 -> 6815[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6815 -> 6405[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6816[label="vuz1690/Zero",fontsize=10,color="white",style="solid",shape="box"];6397 -> 6816[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6816 -> 6406[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6400 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6400[label="gcd0Gcd' (abs (Pos Zero)) (abs (Pos (Succ vuz280)))",fontsize=16,color="magenta"];6400 -> 6409[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6400 -> 6410[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6398[label="absReal1 (Neg (Succ vuz1240)) (compare (Neg (Succ vuz1240)) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6398 -> 6407[label="",style="solid", color="black", weight=3]; 108.70/78.84 5265 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5265[label="gcd0Gcd' (abs (Neg Zero)) (abs (Pos (Succ vuz280)))",fontsize=16,color="magenta"];5265 -> 6357[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5265 -> 6358[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6399[label="absReal1 (Neg vuz34) (compare (Neg vuz34) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6399 -> 6408[label="",style="solid", color="black", weight=3]; 108.70/78.84 5267 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 5267[label="gcd0Gcd' (abs (Neg Zero)) (abs (Neg (Succ vuz340)))",fontsize=16,color="magenta"];5267 -> 6359[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5267 -> 6360[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 5305[label="Succ vuz340",fontsize=16,color="green",shape="box"];6315[label="primMinusNatS (Succ vuz1620) (Succ vuz1630)",fontsize=16,color="black",shape="box"];6315 -> 6331[label="",style="solid", color="black", weight=3]; 108.70/78.84 6316[label="primMinusNatS (Succ vuz1620) Zero",fontsize=16,color="black",shape="box"];6316 -> 6332[label="",style="solid", color="black", weight=3]; 108.70/78.84 6317[label="primMinusNatS Zero (Succ vuz1630)",fontsize=16,color="black",shape="box"];6317 -> 6333[label="",style="solid", color="black", weight=3]; 108.70/78.84 6318[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];6318 -> 6334[label="",style="solid", color="black", weight=3]; 108.70/78.84 6401[label="absReal1 (Pos (Succ vuz1670)) (not (compare (Pos (Succ vuz1670)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6401 -> 6411[label="",style="solid", color="black", weight=3]; 108.70/78.84 6402[label="absReal1 (Pos vuz28) (not (compare (Pos vuz28) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6402 -> 6412[label="",style="solid", color="black", weight=3]; 108.70/78.84 6403[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz16900)) (fromInt (Pos Zero))) vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6403 -> 6413[label="",style="solid", color="black", weight=3]; 108.70/78.84 6404[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6404 -> 6414[label="",style="solid", color="black", weight=3]; 108.70/78.84 6405[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz16900)) (fromInt (Pos Zero))) vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6405 -> 6415[label="",style="solid", color="black", weight=3]; 108.70/78.84 6406[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6406 -> 6416[label="",style="solid", color="black", weight=3]; 108.70/78.84 6409 -> 6350[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6409[label="abs (Pos Zero)",fontsize=16,color="magenta"];6409 -> 6419[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6410 -> 6350[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6410[label="abs (Pos (Succ vuz280))",fontsize=16,color="magenta"];6410 -> 6420[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6407[label="absReal1 (Neg (Succ vuz1240)) (not (compare (Neg (Succ vuz1240)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6407 -> 6417[label="",style="solid", color="black", weight=3]; 108.70/78.84 6357 -> 6354[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6357[label="abs (Neg Zero)",fontsize=16,color="magenta"];6357 -> 6372[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6358 -> 6350[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6358[label="abs (Pos (Succ vuz280))",fontsize=16,color="magenta"];6358 -> 6373[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6408[label="absReal1 (Neg vuz34) (not (compare (Neg vuz34) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6408 -> 6418[label="",style="solid", color="black", weight=3]; 108.70/78.84 6359 -> 6354[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6359[label="abs (Neg Zero)",fontsize=16,color="magenta"];6359 -> 6374[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6360 -> 6354[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6360[label="abs (Neg (Succ vuz340))",fontsize=16,color="magenta"];6360 -> 6375[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6331 -> 6280[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6331[label="primMinusNatS vuz1620 vuz1630",fontsize=16,color="magenta"];6331 -> 6376[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6331 -> 6377[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6332[label="Succ vuz1620",fontsize=16,color="green",shape="box"];6333[label="Zero",fontsize=16,color="green",shape="box"];6334[label="Zero",fontsize=16,color="green",shape="box"];6411[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpInt (Pos (Succ vuz1670)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6411 -> 6421[label="",style="solid", color="black", weight=3]; 108.70/78.84 6412[label="absReal1 (Pos vuz28) (not (primCmpInt (Pos vuz28) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];6817[label="vuz28/Succ vuz280",fontsize=10,color="white",style="solid",shape="box"];6412 -> 6817[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6817 -> 6422[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6818[label="vuz28/Zero",fontsize=10,color="white",style="solid",shape="box"];6412 -> 6818[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6818 -> 6423[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6413[label="gcd0Gcd'1 (primEqInt (Pos (Succ vuz16900)) (Pos Zero)) vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6413 -> 6424[label="",style="solid", color="black", weight=3]; 108.70/78.84 6414[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6414 -> 6425[label="",style="solid", color="black", weight=3]; 108.70/78.84 6415[label="gcd0Gcd'1 (primEqInt (Neg (Succ vuz16900)) (Pos Zero)) vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6415 -> 6426[label="",style="solid", color="black", weight=3]; 108.70/78.84 6416[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6416 -> 6427[label="",style="solid", color="black", weight=3]; 108.70/78.84 6419[label="Zero",fontsize=16,color="green",shape="box"];6420[label="Succ vuz280",fontsize=16,color="green",shape="box"];6417[label="absReal1 (Neg (Succ vuz1240)) (not (primCmpInt (Neg (Succ vuz1240)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6417 -> 6428[label="",style="solid", color="black", weight=3]; 108.70/78.84 6372[label="Zero",fontsize=16,color="green",shape="box"];6373[label="Succ vuz280",fontsize=16,color="green",shape="box"];6418[label="absReal1 (Neg vuz34) (not (primCmpInt (Neg vuz34) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];6819[label="vuz34/Succ vuz340",fontsize=10,color="white",style="solid",shape="box"];6418 -> 6819[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6819 -> 6429[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6820[label="vuz34/Zero",fontsize=10,color="white",style="solid",shape="box"];6418 -> 6820[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6820 -> 6430[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6374[label="Zero",fontsize=16,color="green",shape="box"];6375[label="Succ vuz340",fontsize=16,color="green",shape="box"];6376[label="vuz1620",fontsize=16,color="green",shape="box"];6377[label="vuz1630",fontsize=16,color="green",shape="box"];6421[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpInt (Pos (Succ vuz1670)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];6421 -> 6431[label="",style="solid", color="black", weight=3]; 108.70/78.84 6422[label="absReal1 (Pos (Succ vuz280)) (not (primCmpInt (Pos (Succ vuz280)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6422 -> 6432[label="",style="solid", color="black", weight=3]; 108.70/78.84 6423[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6423 -> 6433[label="",style="solid", color="black", weight=3]; 108.70/78.84 6424[label="gcd0Gcd'1 False vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6424 -> 6434[label="",style="solid", color="black", weight=3]; 108.70/78.84 6425[label="gcd0Gcd'1 True vuz170 (Pos Zero)",fontsize=16,color="black",shape="box"];6425 -> 6435[label="",style="solid", color="black", weight=3]; 108.70/78.84 6426[label="gcd0Gcd'1 False vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6426 -> 6436[label="",style="solid", color="black", weight=3]; 108.70/78.84 6427[label="gcd0Gcd'1 True vuz170 (Neg Zero)",fontsize=16,color="black",shape="box"];6427 -> 6437[label="",style="solid", color="black", weight=3]; 108.70/78.84 6428[label="absReal1 (Neg (Succ vuz1240)) (not (primCmpInt (Neg (Succ vuz1240)) (Pos Zero) == LT))",fontsize=16,color="black",shape="triangle"];6428 -> 6438[label="",style="solid", color="black", weight=3]; 108.70/78.84 6429[label="absReal1 (Neg (Succ vuz340)) (not (primCmpInt (Neg (Succ vuz340)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6429 -> 6439[label="",style="solid", color="black", weight=3]; 108.70/78.84 6430[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];6430 -> 6440[label="",style="solid", color="black", weight=3]; 108.70/78.84 6431[label="absReal1 (Pos (Succ vuz1670)) (not (primCmpNat (Succ vuz1670) Zero == LT))",fontsize=16,color="black",shape="box"];6431 -> 6441[label="",style="solid", color="black", weight=3]; 108.70/78.84 6432 -> 6421[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6432[label="absReal1 (Pos (Succ vuz280)) (not (primCmpInt (Pos (Succ vuz280)) (Pos Zero) == LT))",fontsize=16,color="magenta"];6432 -> 6442[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6433[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];6433 -> 6443[label="",style="solid", color="black", weight=3]; 108.70/78.84 6434[label="gcd0Gcd'0 vuz170 (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6434 -> 6444[label="",style="solid", color="black", weight=3]; 108.70/78.84 6435[label="vuz170",fontsize=16,color="green",shape="box"];6436[label="gcd0Gcd'0 vuz170 (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6436 -> 6445[label="",style="solid", color="black", weight=3]; 108.70/78.84 6437[label="vuz170",fontsize=16,color="green",shape="box"];6438[label="absReal1 (Neg (Succ vuz1240)) (not (LT == LT))",fontsize=16,color="black",shape="box"];6438 -> 6446[label="",style="solid", color="black", weight=3]; 108.70/78.84 6439 -> 6428[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6439[label="absReal1 (Neg (Succ vuz340)) (not (primCmpInt (Neg (Succ vuz340)) (Pos Zero) == LT))",fontsize=16,color="magenta"];6439 -> 6447[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6440[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];6440 -> 6448[label="",style="solid", color="black", weight=3]; 108.70/78.84 6441[label="absReal1 (Pos (Succ vuz1670)) (not (GT == LT))",fontsize=16,color="black",shape="box"];6441 -> 6449[label="",style="solid", color="black", weight=3]; 108.70/78.84 6442[label="vuz280",fontsize=16,color="green",shape="box"];6443[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];6443 -> 6450[label="",style="solid", color="black", weight=3]; 108.70/78.84 6444 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6444[label="gcd0Gcd' (Pos (Succ vuz16900)) (vuz170 `rem` Pos (Succ vuz16900))",fontsize=16,color="magenta"];6444 -> 6451[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6444 -> 6452[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6445 -> 6348[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6445[label="gcd0Gcd' (Neg (Succ vuz16900)) (vuz170 `rem` Neg (Succ vuz16900))",fontsize=16,color="magenta"];6445 -> 6453[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6445 -> 6454[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6446[label="absReal1 (Neg (Succ vuz1240)) (not True)",fontsize=16,color="black",shape="box"];6446 -> 6455[label="",style="solid", color="black", weight=3]; 108.70/78.84 6447[label="vuz340",fontsize=16,color="green",shape="box"];6448[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];6448 -> 6456[label="",style="solid", color="black", weight=3]; 108.70/78.84 6449[label="absReal1 (Pos (Succ vuz1670)) (not False)",fontsize=16,color="black",shape="box"];6449 -> 6457[label="",style="solid", color="black", weight=3]; 108.70/78.84 6450[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];6450 -> 6458[label="",style="solid", color="black", weight=3]; 108.70/78.84 6451[label="Pos (Succ vuz16900)",fontsize=16,color="green",shape="box"];6452[label="vuz170 `rem` Pos (Succ vuz16900)",fontsize=16,color="black",shape="box"];6452 -> 6459[label="",style="solid", color="black", weight=3]; 108.70/78.84 6453[label="Neg (Succ vuz16900)",fontsize=16,color="green",shape="box"];6454[label="vuz170 `rem` Neg (Succ vuz16900)",fontsize=16,color="black",shape="box"];6454 -> 6460[label="",style="solid", color="black", weight=3]; 108.70/78.84 6455[label="absReal1 (Neg (Succ vuz1240)) False",fontsize=16,color="black",shape="box"];6455 -> 6461[label="",style="solid", color="black", weight=3]; 108.70/78.84 6456[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];6456 -> 6462[label="",style="solid", color="black", weight=3]; 108.70/78.84 6457[label="absReal1 (Pos (Succ vuz1670)) True",fontsize=16,color="black",shape="box"];6457 -> 6463[label="",style="solid", color="black", weight=3]; 108.70/78.84 6458[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];6458 -> 6464[label="",style="solid", color="black", weight=3]; 108.70/78.84 6459[label="primRemInt vuz170 (Pos (Succ vuz16900))",fontsize=16,color="burlywood",shape="box"];6821[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];6459 -> 6821[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6821 -> 6465[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6822[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];6459 -> 6822[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6822 -> 6466[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6460[label="primRemInt vuz170 (Neg (Succ vuz16900))",fontsize=16,color="burlywood",shape="box"];6823[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];6460 -> 6823[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6823 -> 6467[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6824[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];6460 -> 6824[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6824 -> 6468[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6461[label="absReal0 (Neg (Succ vuz1240)) otherwise",fontsize=16,color="black",shape="box"];6461 -> 6469[label="",style="solid", color="black", weight=3]; 108.70/78.84 6462[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];6462 -> 6470[label="",style="solid", color="black", weight=3]; 108.70/78.84 6463[label="Pos (Succ vuz1670)",fontsize=16,color="green",shape="box"];6464[label="Pos Zero",fontsize=16,color="green",shape="box"];6465[label="primRemInt (Pos vuz1700) (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6465 -> 6471[label="",style="solid", color="black", weight=3]; 108.70/78.84 6466[label="primRemInt (Neg vuz1700) (Pos (Succ vuz16900))",fontsize=16,color="black",shape="box"];6466 -> 6472[label="",style="solid", color="black", weight=3]; 108.70/78.84 6467[label="primRemInt (Pos vuz1700) (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6467 -> 6473[label="",style="solid", color="black", weight=3]; 108.70/78.84 6468[label="primRemInt (Neg vuz1700) (Neg (Succ vuz16900))",fontsize=16,color="black",shape="box"];6468 -> 6474[label="",style="solid", color="black", weight=3]; 108.70/78.84 6469[label="absReal0 (Neg (Succ vuz1240)) True",fontsize=16,color="black",shape="box"];6469 -> 6475[label="",style="solid", color="black", weight=3]; 108.70/78.84 6470[label="Neg Zero",fontsize=16,color="green",shape="box"];6471[label="Pos (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6471 -> 6476[label="",style="dashed", color="green", weight=3]; 108.70/78.84 6472[label="Neg (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6472 -> 6477[label="",style="dashed", color="green", weight=3]; 108.70/78.84 6473[label="Pos (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6473 -> 6478[label="",style="dashed", color="green", weight=3]; 108.70/78.84 6474[label="Neg (primModNatS vuz1700 (Succ vuz16900))",fontsize=16,color="green",shape="box"];6474 -> 6479[label="",style="dashed", color="green", weight=3]; 108.70/78.84 6475[label="`negate` Neg (Succ vuz1240)",fontsize=16,color="black",shape="box"];6475 -> 6480[label="",style="solid", color="black", weight=3]; 108.70/78.84 6476[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="burlywood",shape="triangle"];6825[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];6476 -> 6825[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6825 -> 6481[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6826[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];6476 -> 6826[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6826 -> 6482[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6477 -> 6476[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6477[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6477 -> 6483[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6478 -> 6476[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6478[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6478 -> 6484[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6479 -> 6476[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6479[label="primModNatS vuz1700 (Succ vuz16900)",fontsize=16,color="magenta"];6479 -> 6485[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6479 -> 6486[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6480[label="primNegInt (Neg (Succ vuz1240))",fontsize=16,color="black",shape="box"];6480 -> 6487[label="",style="solid", color="black", weight=3]; 108.70/78.84 6481[label="primModNatS (Succ vuz17000) (Succ vuz16900)",fontsize=16,color="black",shape="box"];6481 -> 6488[label="",style="solid", color="black", weight=3]; 108.70/78.84 6482[label="primModNatS Zero (Succ vuz16900)",fontsize=16,color="black",shape="box"];6482 -> 6489[label="",style="solid", color="black", weight=3]; 108.70/78.84 6483[label="vuz1700",fontsize=16,color="green",shape="box"];6484[label="vuz16900",fontsize=16,color="green",shape="box"];6485[label="vuz16900",fontsize=16,color="green",shape="box"];6486[label="vuz1700",fontsize=16,color="green",shape="box"];6487[label="Pos (Succ vuz1240)",fontsize=16,color="green",shape="box"];6488[label="primModNatS0 vuz17000 vuz16900 (primGEqNatS vuz17000 vuz16900)",fontsize=16,color="burlywood",shape="box"];6827[label="vuz17000/Succ vuz170000",fontsize=10,color="white",style="solid",shape="box"];6488 -> 6827[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6827 -> 6490[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6828[label="vuz17000/Zero",fontsize=10,color="white",style="solid",shape="box"];6488 -> 6828[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6828 -> 6491[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6489[label="Zero",fontsize=16,color="green",shape="box"];6490[label="primModNatS0 (Succ vuz170000) vuz16900 (primGEqNatS (Succ vuz170000) vuz16900)",fontsize=16,color="burlywood",shape="box"];6829[label="vuz16900/Succ vuz169000",fontsize=10,color="white",style="solid",shape="box"];6490 -> 6829[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6829 -> 6492[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6830[label="vuz16900/Zero",fontsize=10,color="white",style="solid",shape="box"];6490 -> 6830[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6830 -> 6493[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6491[label="primModNatS0 Zero vuz16900 (primGEqNatS Zero vuz16900)",fontsize=16,color="burlywood",shape="box"];6831[label="vuz16900/Succ vuz169000",fontsize=10,color="white",style="solid",shape="box"];6491 -> 6831[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6831 -> 6494[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6832[label="vuz16900/Zero",fontsize=10,color="white",style="solid",shape="box"];6491 -> 6832[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6832 -> 6495[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6492[label="primModNatS0 (Succ vuz170000) (Succ vuz169000) (primGEqNatS (Succ vuz170000) (Succ vuz169000))",fontsize=16,color="black",shape="box"];6492 -> 6496[label="",style="solid", color="black", weight=3]; 108.70/78.84 6493[label="primModNatS0 (Succ vuz170000) Zero (primGEqNatS (Succ vuz170000) Zero)",fontsize=16,color="black",shape="box"];6493 -> 6497[label="",style="solid", color="black", weight=3]; 108.70/78.84 6494[label="primModNatS0 Zero (Succ vuz169000) (primGEqNatS Zero (Succ vuz169000))",fontsize=16,color="black",shape="box"];6494 -> 6498[label="",style="solid", color="black", weight=3]; 108.70/78.84 6495[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6495 -> 6499[label="",style="solid", color="black", weight=3]; 108.70/78.84 6496 -> 6658[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6496[label="primModNatS0 (Succ vuz170000) (Succ vuz169000) (primGEqNatS vuz170000 vuz169000)",fontsize=16,color="magenta"];6496 -> 6659[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6496 -> 6660[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6496 -> 6661[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6496 -> 6662[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6497[label="primModNatS0 (Succ vuz170000) Zero True",fontsize=16,color="black",shape="box"];6497 -> 6502[label="",style="solid", color="black", weight=3]; 108.70/78.84 6498[label="primModNatS0 Zero (Succ vuz169000) False",fontsize=16,color="black",shape="box"];6498 -> 6503[label="",style="solid", color="black", weight=3]; 108.70/78.84 6499[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];6499 -> 6504[label="",style="solid", color="black", weight=3]; 108.70/78.84 6659[label="vuz169000",fontsize=16,color="green",shape="box"];6660[label="vuz170000",fontsize=16,color="green",shape="box"];6661[label="vuz170000",fontsize=16,color="green",shape="box"];6662[label="vuz169000",fontsize=16,color="green",shape="box"];6658[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS vuz189 vuz190)",fontsize=16,color="burlywood",shape="triangle"];6833[label="vuz189/Succ vuz1890",fontsize=10,color="white",style="solid",shape="box"];6658 -> 6833[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6833 -> 6691[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6834[label="vuz189/Zero",fontsize=10,color="white",style="solid",shape="box"];6658 -> 6834[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6834 -> 6692[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6502 -> 6476[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6502[label="primModNatS (primMinusNatS (Succ vuz170000) Zero) (Succ Zero)",fontsize=16,color="magenta"];6502 -> 6509[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6502 -> 6510[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6503[label="Succ Zero",fontsize=16,color="green",shape="box"];6504 -> 6476[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6504[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];6504 -> 6511[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6504 -> 6512[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6691[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) vuz190)",fontsize=16,color="burlywood",shape="box"];6835[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];6691 -> 6835[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6835 -> 6693[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6836[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];6691 -> 6836[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6836 -> 6694[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6692[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero vuz190)",fontsize=16,color="burlywood",shape="box"];6837[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];6692 -> 6837[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6837 -> 6695[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6838[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];6692 -> 6838[label="",style="solid", color="burlywood", weight=9]; 108.70/78.84 6838 -> 6696[label="",style="solid", color="burlywood", weight=3]; 108.70/78.84 6509[label="Zero",fontsize=16,color="green",shape="box"];6510 -> 6280[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6510[label="primMinusNatS (Succ vuz170000) Zero",fontsize=16,color="magenta"];6510 -> 6517[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6510 -> 6518[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6511[label="Zero",fontsize=16,color="green",shape="box"];6512 -> 6280[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6512[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];6512 -> 6519[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6512 -> 6520[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6693[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) (Succ vuz1900))",fontsize=16,color="black",shape="box"];6693 -> 6697[label="",style="solid", color="black", weight=3]; 108.70/78.84 6694[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS (Succ vuz1890) Zero)",fontsize=16,color="black",shape="box"];6694 -> 6698[label="",style="solid", color="black", weight=3]; 108.70/78.84 6695[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero (Succ vuz1900))",fontsize=16,color="black",shape="box"];6695 -> 6699[label="",style="solid", color="black", weight=3]; 108.70/78.84 6696[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6696 -> 6700[label="",style="solid", color="black", weight=3]; 108.70/78.84 6517[label="Succ vuz170000",fontsize=16,color="green",shape="box"];6518[label="Zero",fontsize=16,color="green",shape="box"];6519[label="Zero",fontsize=16,color="green",shape="box"];6520[label="Zero",fontsize=16,color="green",shape="box"];6697 -> 6658[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6697[label="primModNatS0 (Succ vuz187) (Succ vuz188) (primGEqNatS vuz1890 vuz1900)",fontsize=16,color="magenta"];6697 -> 6701[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6697 -> 6702[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6698[label="primModNatS0 (Succ vuz187) (Succ vuz188) True",fontsize=16,color="black",shape="triangle"];6698 -> 6703[label="",style="solid", color="black", weight=3]; 108.70/78.84 6699[label="primModNatS0 (Succ vuz187) (Succ vuz188) False",fontsize=16,color="black",shape="box"];6699 -> 6704[label="",style="solid", color="black", weight=3]; 108.70/78.84 6700 -> 6698[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6700[label="primModNatS0 (Succ vuz187) (Succ vuz188) True",fontsize=16,color="magenta"];6701[label="vuz1890",fontsize=16,color="green",shape="box"];6702[label="vuz1900",fontsize=16,color="green",shape="box"];6703 -> 6476[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6703[label="primModNatS (primMinusNatS (Succ vuz187) (Succ vuz188)) (Succ (Succ vuz188))",fontsize=16,color="magenta"];6703 -> 6705[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6703 -> 6706[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6704[label="Succ (Succ vuz187)",fontsize=16,color="green",shape="box"];6705[label="Succ vuz188",fontsize=16,color="green",shape="box"];6706 -> 6280[label="",style="dashed", color="red", weight=0]; 108.70/78.84 6706[label="primMinusNatS (Succ vuz187) (Succ vuz188)",fontsize=16,color="magenta"];6706 -> 6707[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6706 -> 6708[label="",style="dashed", color="magenta", weight=3]; 108.70/78.84 6707[label="Succ vuz187",fontsize=16,color="green",shape="box"];6708[label="Succ vuz188",fontsize=16,color="green",shape="box"];} 108.70/78.84 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (450) 108.70/78.84 Obligation: 108.70/78.84 Q DP problem: 108.70/78.84 P is empty. 108.70/78.84 R is empty. 108.70/78.84 Q is empty. 108.70/78.84 We have to consider all (P,Q,R)-chains. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (451) PisEmptyProof (EQUIVALENT) 108.70/78.84 The TRS P is empty. Hence, there is no (P,Q,R) chain. 108.70/78.84 ---------------------------------------- 108.70/78.84 108.70/78.84 (452) 108.70/78.84 YES 108.75/78.87 EOF