146.33/105.88 MAYBE 146.33/105.89 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 146.33/105.89 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 146.33/105.89 146.33/105.89 146.33/105.89 H-Termination with start terms of the given HASKELL could not be shown: 146.33/105.89 146.33/105.89 (0) HASKELL 146.33/105.89 (1) IFR [EQUIVALENT, 0 ms] 146.33/105.89 (2) HASKELL 146.33/105.89 (3) BR [EQUIVALENT, 0 ms] 146.33/105.89 (4) HASKELL 146.33/105.89 (5) COR [EQUIVALENT, 23 ms] 146.33/105.89 (6) HASKELL 146.33/105.89 (7) LetRed [EQUIVALENT, 0 ms] 146.33/105.89 (8) HASKELL 146.33/105.89 (9) NumRed [SOUND, 0 ms] 146.33/105.89 (10) HASKELL 146.33/105.89 (11) Narrow [SOUND, 0 ms] 146.33/105.89 (12) AND 146.33/105.89 (13) QDP 146.33/105.89 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (15) AND 146.33/105.89 (16) QDP 146.33/105.89 (17) QDPOrderProof [EQUIVALENT, 0 ms] 146.33/105.89 (18) QDP 146.33/105.89 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (20) QDP 146.33/105.89 (21) QDPSizeChangeProof [EQUIVALENT, 1 ms] 146.33/105.89 (22) YES 146.33/105.89 (23) QDP 146.33/105.89 (24) MRRProof [EQUIVALENT, 0 ms] 146.33/105.89 (25) QDP 146.33/105.89 (26) PisEmptyProof [EQUIVALENT, 0 ms] 146.33/105.89 (27) YES 146.33/105.89 (28) QDP 146.33/105.89 (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] 146.33/105.89 (30) YES 146.33/105.89 (31) QDP 146.33/105.89 (32) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (33) AND 146.33/105.89 (34) QDP 146.33/105.89 (35) MRRProof [EQUIVALENT, 0 ms] 146.33/105.89 (36) QDP 146.33/105.89 (37) PisEmptyProof [EQUIVALENT, 0 ms] 146.33/105.89 (38) YES 146.33/105.89 (39) QDP 146.33/105.89 (40) QDPSizeChangeProof [EQUIVALENT, 1 ms] 146.33/105.89 (41) YES 146.33/105.89 (42) QDP 146.33/105.89 (43) QDPSizeChangeProof [EQUIVALENT, 0 ms] 146.33/105.89 (44) YES 146.33/105.89 (45) QDP 146.33/105.89 (46) MNOCProof [EQUIVALENT, 0 ms] 146.33/105.89 (47) QDP 146.33/105.89 (48) InductionCalculusProof [EQUIVALENT, 17 ms] 146.33/105.89 (49) QDP 146.33/105.89 (50) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (51) QDP 146.33/105.89 (52) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (53) QDP 146.33/105.89 (54) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (55) QDP 146.33/105.89 (56) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (57) QDP 146.33/105.89 (58) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (59) QDP 146.33/105.89 (60) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (61) QDP 146.33/105.89 (62) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (63) QDP 146.33/105.89 (64) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (65) QDP 146.33/105.89 (66) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (67) QDP 146.33/105.89 (68) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (69) QDP 146.33/105.89 (70) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (71) QDP 146.33/105.89 (72) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (73) QDP 146.33/105.89 (74) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (75) QDP 146.33/105.89 (76) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (77) QDP 146.33/105.89 (78) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (79) QDP 146.33/105.89 (80) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (81) QDP 146.33/105.89 (82) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (83) QDP 146.33/105.89 (84) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (85) AND 146.33/105.89 (86) QDP 146.33/105.89 (87) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (88) QDP 146.33/105.89 (89) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (90) QDP 146.33/105.89 (91) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (92) QDP 146.33/105.89 (93) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (94) QDP 146.33/105.89 (95) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (96) QDP 146.33/105.89 (97) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (98) QDP 146.33/105.89 (99) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (100) QDP 146.33/105.89 (101) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (102) QDP 146.33/105.89 (103) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (104) AND 146.33/105.89 (105) QDP 146.33/105.89 (106) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (107) QDP 146.33/105.89 (108) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (109) QDP 146.33/105.89 (110) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (111) QDP 146.33/105.89 (112) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (113) QDP 146.33/105.89 (114) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (115) QDP 146.33/105.89 (116) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (117) QDP 146.33/105.89 (118) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (119) QDP 146.33/105.89 (120) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (121) QDP 146.33/105.89 (122) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (123) QDP 146.33/105.89 (124) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (125) QDP 146.33/105.89 (126) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (127) QDP 146.33/105.89 (128) QDPSizeChangeProof [EQUIVALENT, 16 ms] 146.33/105.89 (129) YES 146.33/105.89 (130) QDP 146.33/105.89 (131) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (132) QDP 146.33/105.89 (133) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (134) QDP 146.33/105.89 (135) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (136) QDP 146.33/105.89 (137) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (138) QDP 146.33/105.89 (139) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (140) QDP 146.33/105.89 (141) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (142) QDP 146.33/105.89 (143) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (144) QDP 146.33/105.89 (145) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (146) QDP 146.33/105.89 (147) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (148) QDP 146.33/105.89 (149) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (150) QDP 146.33/105.89 (151) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (152) QDP 146.33/105.89 (153) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (154) QDP 146.33/105.89 (155) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (156) QDP 146.33/105.89 (157) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (158) AND 146.33/105.89 (159) QDP 146.33/105.89 (160) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (161) QDP 146.33/105.89 (162) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (163) QDP 146.33/105.89 (164) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (165) QDP 146.33/105.89 (166) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (167) QDP 146.33/105.89 (168) InductionCalculusProof [EQUIVALENT, 0 ms] 146.33/105.89 (169) QDP 146.33/105.89 (170) QDP 146.33/105.89 (171) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (172) QDP 146.33/105.89 (173) InductionCalculusProof [EQUIVALENT, 0 ms] 146.33/105.89 (174) QDP 146.33/105.89 (175) QDP 146.33/105.89 (176) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (177) QDP 146.33/105.89 (178) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (179) QDP 146.33/105.89 (180) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (181) QDP 146.33/105.89 (182) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (183) QDP 146.33/105.89 (184) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (185) QDP 146.33/105.89 (186) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (187) QDP 146.33/105.89 (188) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (189) QDP 146.33/105.89 (190) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (191) QDP 146.33/105.89 (192) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (193) AND 146.33/105.89 (194) QDP 146.33/105.89 (195) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (196) QDP 146.33/105.89 (197) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (198) QDP 146.33/105.89 (199) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (200) QDP 146.33/105.89 (201) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (202) QDP 146.33/105.89 (203) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (204) QDP 146.33/105.89 (205) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (206) QDP 146.33/105.89 (207) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (208) QDP 146.33/105.89 (209) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (210) QDP 146.33/105.89 (211) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (212) QDP 146.33/105.89 (213) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (214) QDP 146.33/105.89 (215) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (216) QDP 146.33/105.89 (217) QDPSizeChangeProof [EQUIVALENT, 0 ms] 146.33/105.89 (218) YES 146.33/105.89 (219) QDP 146.33/105.89 (220) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (221) QDP 146.33/105.89 (222) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (223) QDP 146.33/105.89 (224) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (225) QDP 146.33/105.89 (226) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (227) QDP 146.33/105.89 (228) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (229) QDP 146.33/105.89 (230) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (231) QDP 146.33/105.89 (232) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (233) QDP 146.33/105.89 (234) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (235) QDP 146.33/105.89 (236) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (237) QDP 146.33/105.89 (238) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (239) QDP 146.33/105.89 (240) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (241) QDP 146.33/105.89 (242) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (243) QDP 146.33/105.89 (244) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (245) QDP 146.33/105.89 (246) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (247) AND 146.33/105.89 (248) QDP 146.33/105.89 (249) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (250) QDP 146.33/105.89 (251) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (252) QDP 146.33/105.89 (253) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (254) QDP 146.33/105.89 (255) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (256) QDP 146.33/105.89 (257) InductionCalculusProof [EQUIVALENT, 0 ms] 146.33/105.89 (258) QDP 146.33/105.89 (259) QDP 146.33/105.89 (260) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (261) QDP 146.33/105.89 (262) InductionCalculusProof [EQUIVALENT, 0 ms] 146.33/105.89 (263) QDP 146.33/105.89 (264) QDP 146.33/105.89 (265) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (266) QDP 146.33/105.89 (267) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (268) QDP 146.33/105.89 (269) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (270) QDP 146.33/105.89 (271) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (272) QDP 146.33/105.89 (273) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (274) QDP 146.33/105.89 (275) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (276) QDP 146.33/105.89 (277) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (278) QDP 146.33/105.89 (279) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (280) QDP 146.33/105.89 (281) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (282) QDP 146.33/105.89 (283) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (284) QDP 146.33/105.89 (285) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (286) QDP 146.33/105.89 (287) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (288) QDP 146.33/105.89 (289) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (290) QDP 146.33/105.89 (291) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (292) QDP 146.33/105.89 (293) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (294) QDP 146.33/105.89 (295) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (296) QDP 146.33/105.89 (297) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (298) QDP 146.33/105.89 (299) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (300) QDP 146.33/105.89 (301) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (302) QDP 146.33/105.89 (303) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (304) QDP 146.33/105.89 (305) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (306) QDP 146.33/105.89 (307) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (308) QDP 146.33/105.89 (309) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (310) QDP 146.33/105.89 (311) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (312) QDP 146.33/105.89 (313) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (314) QDP 146.33/105.89 (315) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (316) QDP 146.33/105.89 (317) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (318) QDP 146.33/105.89 (319) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (320) AND 146.33/105.89 (321) QDP 146.33/105.89 (322) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (323) QDP 146.33/105.89 (324) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (325) QDP 146.33/105.89 (326) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (327) QDP 146.33/105.89 (328) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (329) QDP 146.33/105.89 (330) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (331) QDP 146.33/105.89 (332) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (333) QDP 146.33/105.89 (334) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (335) QDP 146.33/105.89 (336) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (337) QDP 146.33/105.89 (338) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (339) QDP 146.33/105.89 (340) QDPSizeChangeProof [EQUIVALENT, 0 ms] 146.33/105.89 (341) YES 146.33/105.89 (342) QDP 146.33/105.89 (343) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (344) QDP 146.33/105.89 (345) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (346) QDP 146.33/105.89 (347) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (348) QDP 146.33/105.89 (349) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (350) QDP 146.33/105.89 (351) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (352) QDP 146.33/105.89 (353) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (354) QDP 146.33/105.89 (355) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (356) QDP 146.33/105.89 (357) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (358) QDP 146.33/105.89 (359) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (360) QDP 146.33/105.89 (361) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (362) QDP 146.33/105.89 (363) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (364) QDP 146.33/105.89 (365) QDPSizeChangeProof [EQUIVALENT, 0 ms] 146.33/105.89 (366) YES 146.33/105.89 (367) QDP 146.33/105.89 (368) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (369) QDP 146.33/105.89 (370) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (371) QDP 146.33/105.89 (372) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (373) QDP 146.33/105.89 (374) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (375) QDP 146.33/105.89 (376) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (377) QDP 146.33/105.89 (378) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (379) QDP 146.33/105.89 (380) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (381) QDP 146.33/105.89 (382) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (383) QDP 146.33/105.89 (384) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (385) QDP 146.33/105.89 (386) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (387) QDP 146.33/105.89 (388) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (389) QDP 146.33/105.89 (390) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (391) QDP 146.33/105.89 (392) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (393) QDP 146.33/105.89 (394) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (395) QDP 146.33/105.89 (396) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (397) QDP 146.33/105.89 (398) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (399) QDP 146.33/105.89 (400) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (401) QDP 146.33/105.89 (402) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (403) QDP 146.33/105.89 (404) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (405) AND 146.33/105.89 (406) QDP 146.33/105.89 (407) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (408) QDP 146.33/105.89 (409) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (410) QDP 146.33/105.89 (411) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (412) QDP 146.33/105.89 (413) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (414) QDP 146.33/105.89 (415) InductionCalculusProof [EQUIVALENT, 0 ms] 146.33/105.89 (416) QDP 146.33/105.89 (417) QDP 146.33/105.89 (418) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (419) QDP 146.33/105.89 (420) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (421) QDP 146.33/105.89 (422) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (423) QDP 146.33/105.89 (424) InductionCalculusProof [EQUIVALENT, 0 ms] 146.33/105.89 (425) QDP 146.33/105.89 (426) QDP 146.33/105.89 (427) InductionCalculusProof [EQUIVALENT, 0 ms] 146.33/105.89 (428) QDP 146.33/105.89 (429) QDP 146.33/105.89 (430) QDPSizeChangeProof [EQUIVALENT, 0 ms] 146.33/105.89 (431) YES 146.33/105.89 (432) QDP 146.33/105.89 (433) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (434) QDP 146.33/105.89 (435) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (436) QDP 146.33/105.89 (437) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (438) QDP 146.33/105.89 (439) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (440) QDP 146.33/105.89 (441) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (442) QDP 146.33/105.89 (443) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (444) QDP 146.33/105.89 (445) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (446) QDP 146.33/105.89 (447) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (448) QDP 146.33/105.89 (449) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (450) QDP 146.33/105.89 (451) MNOCProof [EQUIVALENT, 0 ms] 146.33/105.89 (452) QDP 146.33/105.89 (453) InductionCalculusProof [EQUIVALENT, 0 ms] 146.33/105.89 (454) QDP 146.33/105.89 (455) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (456) QDP 146.33/105.89 (457) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (458) QDP 146.33/105.89 (459) UsableRulesProof [EQUIVALENT, 0 ms] 146.33/105.89 (460) QDP 146.33/105.89 (461) QReductionProof [EQUIVALENT, 0 ms] 146.33/105.89 (462) QDP 146.33/105.89 (463) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (464) QDP 146.33/105.89 (465) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (466) QDP 146.33/105.89 (467) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (468) QDP 146.33/105.89 (469) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (470) QDP 146.33/105.89 (471) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (472) QDP 146.33/105.89 (473) TransformationProof [EQUIVALENT, 1 ms] 146.33/105.89 (474) QDP 146.33/105.89 (475) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (476) QDP 146.33/105.89 (477) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (478) QDP 146.33/105.89 (479) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (480) QDP 146.33/105.89 (481) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (482) QDP 146.33/105.89 (483) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (484) QDP 146.33/105.89 (485) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (486) QDP 146.33/105.89 (487) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (488) QDP 146.33/105.89 (489) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (490) QDP 146.33/105.89 (491) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (492) QDP 146.33/105.89 (493) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (494) QDP 146.33/105.89 (495) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (496) QDP 146.33/105.89 (497) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (498) QDP 146.33/105.89 (499) DependencyGraphProof [EQUIVALENT, 0 ms] 146.33/105.89 (500) QDP 146.33/105.89 (501) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (502) QDP 146.33/105.89 (503) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (504) QDP 146.33/105.89 (505) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (506) QDP 146.33/105.89 (507) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (508) QDP 146.33/105.89 (509) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (510) QDP 146.33/105.89 (511) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (512) QDP 146.33/105.89 (513) TransformationProof [EQUIVALENT, 0 ms] 146.33/105.89 (514) QDP 146.33/105.89 (515) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (516) QDP 149.10/106.61 (517) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (518) QDP 149.10/106.61 (519) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (520) QDP 149.10/106.61 (521) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (522) QDP 149.10/106.61 (523) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (524) QDP 149.10/106.61 (525) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (526) QDP 149.10/106.61 (527) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (528) QDP 149.10/106.61 (529) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (530) QDP 149.10/106.61 (531) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (532) QDP 149.10/106.61 (533) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (534) QDP 149.10/106.61 (535) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (536) QDP 149.10/106.61 (537) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (538) QDP 149.10/106.61 (539) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (540) QDP 149.10/106.61 (541) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (542) QDP 149.10/106.61 (543) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (544) QDP 149.10/106.61 (545) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (546) QDP 149.10/106.61 (547) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (548) QDP 149.10/106.61 (549) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (550) QDP 149.10/106.61 (551) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (552) QDP 149.10/106.61 (553) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (554) QDP 149.10/106.61 (555) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (556) QDP 149.10/106.61 (557) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (558) QDP 149.10/106.61 (559) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (560) QDP 149.10/106.61 (561) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (562) QDP 149.10/106.61 (563) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (564) QDP 149.10/106.61 (565) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (566) QDP 149.10/106.61 (567) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (568) QDP 149.10/106.61 (569) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (570) QDP 149.10/106.61 (571) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (572) QDP 149.10/106.61 (573) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (574) QDP 149.10/106.61 (575) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (576) QDP 149.10/106.61 (577) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (578) QDP 149.10/106.61 (579) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (580) QDP 149.10/106.61 (581) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (582) QDP 149.10/106.61 (583) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (584) QDP 149.10/106.61 (585) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (586) QDP 149.10/106.61 (587) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (588) QDP 149.10/106.61 (589) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (590) QDP 149.10/106.61 (591) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (592) QDP 149.10/106.61 (593) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (594) QDP 149.10/106.61 (595) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (596) QDP 149.10/106.61 (597) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (598) QDP 149.10/106.61 (599) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (600) QDP 149.10/106.61 (601) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (602) QDP 149.10/106.61 (603) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (604) QDP 149.10/106.61 (605) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (606) QDP 149.10/106.61 (607) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (608) QDP 149.10/106.61 (609) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (610) QDP 149.10/106.61 (611) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (612) QDP 149.10/106.61 (613) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (614) QDP 149.10/106.61 (615) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (616) QDP 149.10/106.61 (617) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (618) QDP 149.10/106.61 (619) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (620) QDP 149.10/106.61 (621) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (622) QDP 149.10/106.61 (623) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (624) QDP 149.10/106.61 (625) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (626) QDP 149.10/106.61 (627) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (628) QDP 149.10/106.61 (629) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (630) QDP 149.10/106.61 (631) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (632) QDP 149.10/106.61 (633) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (634) QDP 149.10/106.61 (635) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (636) QDP 149.10/106.61 (637) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (638) QDP 149.10/106.61 (639) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (640) QDP 149.10/106.61 (641) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (642) QDP 149.10/106.61 (643) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (644) QDP 149.10/106.61 (645) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (646) QDP 149.10/106.61 (647) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (648) QDP 149.10/106.61 (649) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (650) QDP 149.10/106.61 (651) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (652) QDP 149.10/106.61 (653) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (654) QDP 149.10/106.61 (655) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (656) QDP 149.10/106.61 (657) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (658) QDP 149.10/106.61 (659) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (660) QDP 149.10/106.61 (661) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (662) QDP 149.10/106.61 (663) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (664) QDP 149.10/106.61 (665) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (666) QDP 149.10/106.61 (667) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (668) QDP 149.10/106.61 (669) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (670) QDP 149.10/106.61 (671) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (672) QDP 149.10/106.61 (673) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (674) QDP 149.10/106.61 (675) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (676) QDP 149.10/106.61 (677) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (678) QDP 149.10/106.61 (679) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (680) QDP 149.10/106.61 (681) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (682) QDP 149.10/106.61 (683) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (684) QDP 149.10/106.61 (685) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (686) QDP 149.10/106.61 (687) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (688) QDP 149.10/106.61 (689) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (690) QDP 149.10/106.61 (691) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (692) QDP 149.10/106.61 (693) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (694) QDP 149.10/106.61 (695) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (696) QDP 149.10/106.61 (697) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (698) QDP 149.10/106.61 (699) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (700) QDP 149.10/106.61 (701) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (702) QDP 149.10/106.61 (703) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (704) QDP 149.10/106.61 (705) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (706) QDP 149.10/106.61 (707) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (708) QDP 149.10/106.61 (709) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (710) QDP 149.10/106.61 (711) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (712) QDP 149.10/106.61 (713) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (714) QDP 149.10/106.61 (715) DependencyGraphProof [EQUIVALENT, 0 ms] 149.10/106.61 (716) QDP 149.10/106.61 (717) TransformationProof [EQUIVALENT, 0 ms] 149.10/106.61 (718) QDP 149.10/106.61 (719) QDPOrderProof [EQUIVALENT, 39 ms] 149.10/106.61 (720) QDP 149.10/106.61 (721) QDPOrderProof [EQUIVALENT, 0 ms] 149.10/106.61 (722) QDP 149.10/106.61 (723) MNOCProof [EQUIVALENT, 0 ms] 149.10/106.61 (724) QDP 149.10/106.61 (725) QDPOrderProof [EQUIVALENT, 987 ms] 149.10/106.61 (726) QDP 149.10/106.61 (727) MNOCProof [EQUIVALENT, 0 ms] 149.10/106.61 (728) QDP 149.10/106.61 (729) InductionCalculusProof [EQUIVALENT, 0 ms] 149.10/106.61 (730) QDP 149.10/106.61 (731) QDP 149.10/106.61 (732) QDPSizeChangeProof [EQUIVALENT, 0 ms] 149.10/106.61 (733) YES 149.10/106.61 (734) Narrow [COMPLETE, 0 ms] 149.10/106.61 (735) TRUE 149.10/106.61 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (0) 149.10/106.61 Obligation: 149.10/106.61 mainModule Main 149.10/106.61 module Main where { 149.10/106.61 import qualified Prelude; 149.10/106.61 } 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (1) IFR (EQUIVALENT) 149.10/106.61 If Reductions: 149.10/106.61 The following If expression 149.10/106.61 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 149.10/106.61 is transformed to 149.10/106.61 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 149.10/106.61 primDivNatS0 x y False = Zero; 149.10/106.61 " 149.10/106.61 The following If expression 149.10/106.61 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 149.10/106.61 is transformed to 149.10/106.61 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 149.10/106.61 primModNatS0 x y False = Succ x; 149.10/106.61 " 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (2) 149.10/106.61 Obligation: 149.10/106.61 mainModule Main 149.10/106.61 module Main where { 149.10/106.61 import qualified Prelude; 149.10/106.61 } 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (3) BR (EQUIVALENT) 149.10/106.61 Replaced joker patterns by fresh variables and removed binding patterns. 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (4) 149.10/106.61 Obligation: 149.10/106.61 mainModule Main 149.10/106.61 module Main where { 149.10/106.61 import qualified Prelude; 149.10/106.61 } 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (5) COR (EQUIVALENT) 149.10/106.61 Cond Reductions: 149.10/106.61 The following Function with conditions 149.10/106.61 "absReal x|x >= 0x|otherwise`negate` x; 149.10/106.61 " 149.10/106.61 is transformed to 149.10/106.61 "absReal x = absReal2 x; 149.10/106.61 " 149.10/106.61 "absReal1 x True = x; 149.10/106.61 absReal1 x False = absReal0 x otherwise; 149.10/106.61 " 149.10/106.61 "absReal0 x True = `negate` x; 149.10/106.61 " 149.10/106.61 "absReal2 x = absReal1 x (x >= 0); 149.10/106.61 " 149.10/106.61 The following Function with conditions 149.10/106.61 "gcd' x 0 = x; 149.10/106.61 gcd' x y = gcd' y (x `rem` y); 149.10/106.61 " 149.10/106.61 is transformed to 149.10/106.61 "gcd' x xz = gcd'2 x xz; 149.10/106.61 gcd' x y = gcd'0 x y; 149.10/106.61 " 149.10/106.61 "gcd'0 x y = gcd' y (x `rem` y); 149.10/106.61 " 149.10/106.61 "gcd'1 True x xz = x; 149.10/106.61 gcd'1 yu yv yw = gcd'0 yv yw; 149.10/106.61 " 149.10/106.61 "gcd'2 x xz = gcd'1 (xz == 0) x xz; 149.10/106.61 gcd'2 yx yy = gcd'0 yx yy; 149.10/106.61 " 149.10/106.61 The following Function with conditions 149.10/106.61 "gcd 0 0 = error []; 149.10/106.61 gcd x y = gcd' (abs x) (abs y) where { 149.10/106.61 gcd' x 0 = x; 149.10/106.61 gcd' x y = gcd' y (x `rem` y); 149.10/106.61 } 149.10/106.61 ; 149.10/106.61 " 149.10/106.61 is transformed to 149.10/106.61 "gcd yz zu = gcd3 yz zu; 149.10/106.61 gcd x y = gcd0 x y; 149.10/106.61 " 149.10/106.61 "gcd0 x y = gcd' (abs x) (abs y) where { 149.10/106.61 gcd' x xz = gcd'2 x xz; 149.10/106.61 gcd' x y = gcd'0 x y; 149.10/106.61 ; 149.10/106.61 gcd'0 x y = gcd' y (x `rem` y); 149.10/106.61 ; 149.10/106.61 gcd'1 True x xz = x; 149.10/106.61 gcd'1 yu yv yw = gcd'0 yv yw; 149.10/106.61 ; 149.10/106.61 gcd'2 x xz = gcd'1 (xz == 0) x xz; 149.10/106.61 gcd'2 yx yy = gcd'0 yx yy; 149.10/106.61 } 149.10/106.61 ; 149.10/106.61 " 149.10/106.61 "gcd1 True yz zu = error []; 149.10/106.61 gcd1 zv zw zx = gcd0 zw zx; 149.10/106.61 " 149.10/106.61 "gcd2 True yz zu = gcd1 (zu == 0) yz zu; 149.10/106.61 gcd2 zy zz vuu = gcd0 zz vuu; 149.10/106.61 " 149.10/106.61 "gcd3 yz zu = gcd2 (yz == 0) yz zu; 149.10/106.61 gcd3 vuv vuw = gcd0 vuv vuw; 149.10/106.61 " 149.10/106.61 The following Function with conditions 149.10/106.61 "undefined |Falseundefined; 149.10/106.61 " 149.10/106.61 is transformed to 149.10/106.61 "undefined = undefined1; 149.10/106.61 " 149.10/106.61 "undefined0 True = undefined; 149.10/106.61 " 149.10/106.61 "undefined1 = undefined0 False; 149.10/106.61 " 149.10/106.61 The following Function with conditions 149.10/106.61 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 149.10/106.61 d = gcd x y; 149.10/106.61 } 149.10/106.61 ; 149.10/106.61 " 149.10/106.61 is transformed to 149.10/106.61 "reduce x y = reduce2 x y; 149.10/106.61 " 149.10/106.61 "reduce2 x y = reduce1 x y (y == 0) where { 149.10/106.61 d = gcd x y; 149.10/106.61 ; 149.10/106.61 reduce0 x y True = x `quot` d :% (y `quot` d); 149.10/106.61 ; 149.10/106.61 reduce1 x y True = error []; 149.10/106.61 reduce1 x y False = reduce0 x y otherwise; 149.10/106.61 } 149.10/106.61 ; 149.10/106.61 " 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (6) 149.10/106.61 Obligation: 149.10/106.61 mainModule Main 149.10/106.61 module Main where { 149.10/106.61 import qualified Prelude; 149.10/106.61 } 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (7) LetRed (EQUIVALENT) 149.10/106.61 Let/Where Reductions: 149.10/106.61 The bindings of the following Let/Where expression 149.10/106.61 "gcd' (abs x) (abs y) where { 149.10/106.61 gcd' x xz = gcd'2 x xz; 149.10/106.61 gcd' x y = gcd'0 x y; 149.10/106.61 ; 149.10/106.61 gcd'0 x y = gcd' y (x `rem` y); 149.10/106.61 ; 149.10/106.61 gcd'1 True x xz = x; 149.10/106.61 gcd'1 yu yv yw = gcd'0 yv yw; 149.10/106.61 ; 149.10/106.61 gcd'2 x xz = gcd'1 (xz == 0) x xz; 149.10/106.61 gcd'2 yx yy = gcd'0 yx yy; 149.10/106.61 } 149.10/106.61 " 149.10/106.61 are unpacked to the following functions on top level 149.10/106.61 "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; 149.10/106.61 gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; 149.10/106.61 " 149.10/106.61 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 149.10/106.61 " 149.10/106.61 "gcd0Gcd'1 True x xz = x; 149.10/106.61 gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; 149.10/106.61 " 149.10/106.61 "gcd0Gcd' x xz = gcd0Gcd'2 x xz; 149.10/106.61 gcd0Gcd' x y = gcd0Gcd'0 x y; 149.10/106.61 " 149.10/106.61 The bindings of the following Let/Where expression 149.10/106.61 "reduce1 x y (y == 0) where { 149.10/106.61 d = gcd x y; 149.10/106.61 ; 149.10/106.61 reduce0 x y True = x `quot` d :% (y `quot` d); 149.10/106.61 ; 149.10/106.61 reduce1 x y True = error []; 149.10/106.61 reduce1 x y False = reduce0 x y otherwise; 149.10/106.61 } 149.10/106.61 " 149.10/106.61 are unpacked to the following functions on top level 149.10/106.61 "reduce2D vux vuy = gcd vux vuy; 149.10/106.61 " 149.10/106.61 "reduce2Reduce1 vux vuy x y True = error []; 149.10/106.61 reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; 149.10/106.61 " 149.10/106.61 "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); 149.10/106.61 " 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (8) 149.10/106.61 Obligation: 149.10/106.61 mainModule Main 149.10/106.61 module Main where { 149.10/106.61 import qualified Prelude; 149.10/106.61 } 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (9) NumRed (SOUND) 149.10/106.61 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (10) 149.10/106.61 Obligation: 149.10/106.61 mainModule Main 149.10/106.61 module Main where { 149.10/106.61 import qualified Prelude; 149.10/106.61 } 149.10/106.61 149.10/106.61 ---------------------------------------- 149.10/106.61 149.10/106.61 (11) Narrow (SOUND) 149.10/106.61 Haskell To QDPs 149.10/106.61 149.10/106.61 digraph dp_graph { 149.10/106.61 node [outthreshold=100, inthreshold=100];1[label="product",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 149.10/106.61 3[label="product vuz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 149.10/106.61 4[label="foldl' (*) (fromInt (Pos (Succ Zero))) vuz3",fontsize=16,color="burlywood",shape="box"];1083[label="vuz3/vuz30 : vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 1083[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1083 -> 5[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1084[label="vuz3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 1084[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1084 -> 6[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 5[label="foldl' (*) (fromInt (Pos (Succ Zero))) (vuz30 : vuz31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 149.10/106.61 6[label="foldl' (*) (fromInt (Pos (Succ Zero))) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 149.10/106.61 7[label="(foldl' (*) $! (*) fromInt (Pos (Succ Zero)) vuz30)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 149.10/106.61 8[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];1085[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];8 -> 1085[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1085 -> 10[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1086[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];8 -> 1086[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1086 -> 11[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1087[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];8 -> 1087[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1087 -> 12[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1088[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];8 -> 1088[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1088 -> 13[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1089[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];8 -> 1089[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1089 -> 14[label="",style="solid", color="blue", weight=3]; 149.10/106.61 9[label="((*) fromInt (Pos (Succ Zero)) vuz30 `seq` foldl' (*) ((*) fromInt (Pos (Succ Zero)) vuz30))",fontsize=16,color="black",shape="box"];9 -> 15[label="",style="solid", color="black", weight=3]; 149.10/106.61 10[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];10 -> 16[label="",style="solid", color="black", weight=3]; 149.10/106.61 11[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];11 -> 17[label="",style="solid", color="black", weight=3]; 149.10/106.61 12[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];12 -> 18[label="",style="solid", color="black", weight=3]; 149.10/106.61 13[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];13 -> 19[label="",style="solid", color="black", weight=3]; 149.10/106.61 14[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];14 -> 20[label="",style="solid", color="black", weight=3]; 149.10/106.61 15 -> 21[label="",style="dashed", color="red", weight=0]; 149.10/106.61 15[label="enforceWHNF (WHNF ((*) fromInt (Pos (Succ Zero)) vuz30)) (foldl' (*) ((*) fromInt (Pos (Succ Zero)) vuz30)) vuz31",fontsize=16,color="magenta"];15 -> 22[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 15 -> 23[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 16[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 149.10/106.61 17[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];18[label="primIntToDouble (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];18 -> 25[label="",style="solid", color="black", weight=3]; 149.10/106.61 19[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];19 -> 26[label="",style="solid", color="black", weight=3]; 149.10/106.61 20[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];22[label="vuz31",fontsize=16,color="green",shape="box"];23[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="blue",shape="box"];1090[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];23 -> 1090[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1090 -> 27[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1091[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];23 -> 1091[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1091 -> 28[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1092[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];23 -> 1092[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1092 -> 29[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1093[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];23 -> 1093[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1093 -> 30[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1094[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];23 -> 1094[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1094 -> 31[label="",style="solid", color="blue", weight=3]; 149.10/106.61 21[label="enforceWHNF (WHNF vuz7) (foldl' (*) vuz7) vuz8",fontsize=16,color="black",shape="triangle"];21 -> 32[label="",style="solid", color="black", weight=3]; 149.10/106.61 24[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];24 -> 33[label="",style="dashed", color="green", weight=3]; 149.10/106.61 24 -> 34[label="",style="dashed", color="green", weight=3]; 149.10/106.61 25[label="Double (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];26[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];27 -> 35[label="",style="dashed", color="red", weight=0]; 149.10/106.61 27[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];27 -> 36[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 28 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 28[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];28 -> 38[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 29 -> 39[label="",style="dashed", color="red", weight=0]; 149.10/106.61 29[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];29 -> 40[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 30 -> 41[label="",style="dashed", color="red", weight=0]; 149.10/106.61 30[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];30 -> 42[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 31 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 31[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];31 -> 44[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 32[label="foldl' (*) vuz7 vuz8",fontsize=16,color="burlywood",shape="box"];1095[label="vuz8/vuz80 : vuz81",fontsize=10,color="white",style="solid",shape="box"];32 -> 1095[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1095 -> 45[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1096[label="vuz8/[]",fontsize=10,color="white",style="solid",shape="box"];32 -> 1096[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1096 -> 46[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 33[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];1097[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];33 -> 1097[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1097 -> 47[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1098[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];33 -> 1098[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1098 -> 48[label="",style="solid", color="blue", weight=3]; 149.10/106.61 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];1099[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];34 -> 1099[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1099 -> 49[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1100[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];34 -> 1100[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1100 -> 50[label="",style="solid", color="blue", weight=3]; 149.10/106.61 36 -> 10[label="",style="dashed", color="red", weight=0]; 149.10/106.61 36[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35[label="(*) vuz9 vuz30",fontsize=16,color="burlywood",shape="triangle"];1101[label="vuz9/vuz90 :% vuz91",fontsize=10,color="white",style="solid",shape="box"];35 -> 1101[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1101 -> 51[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 38 -> 11[label="",style="dashed", color="red", weight=0]; 149.10/106.61 38[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];37[label="(*) vuz10 vuz30",fontsize=16,color="burlywood",shape="triangle"];1102[label="vuz10/Integer vuz100",fontsize=10,color="white",style="solid",shape="box"];37 -> 1102[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1102 -> 52[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 40 -> 12[label="",style="dashed", color="red", weight=0]; 149.10/106.61 40[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];39[label="(*) vuz11 vuz30",fontsize=16,color="black",shape="triangle"];39 -> 53[label="",style="solid", color="black", weight=3]; 149.10/106.61 42 -> 13[label="",style="dashed", color="red", weight=0]; 149.10/106.61 42[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];41[label="(*) vuz12 vuz30",fontsize=16,color="black",shape="triangle"];41 -> 54[label="",style="solid", color="black", weight=3]; 149.10/106.61 44 -> 14[label="",style="dashed", color="red", weight=0]; 149.10/106.61 44[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];43[label="(*) vuz13 vuz30",fontsize=16,color="black",shape="triangle"];43 -> 55[label="",style="solid", color="black", weight=3]; 149.10/106.61 45[label="foldl' (*) vuz7 (vuz80 : vuz81)",fontsize=16,color="black",shape="box"];45 -> 56[label="",style="solid", color="black", weight=3]; 149.10/106.61 46[label="foldl' (*) vuz7 []",fontsize=16,color="black",shape="box"];46 -> 57[label="",style="solid", color="black", weight=3]; 149.10/106.61 47 -> 11[label="",style="dashed", color="red", weight=0]; 149.10/106.61 47[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];48 -> 14[label="",style="dashed", color="red", weight=0]; 149.10/106.61 48[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];49 -> 11[label="",style="dashed", color="red", weight=0]; 149.10/106.61 49[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];50 -> 14[label="",style="dashed", color="red", weight=0]; 149.10/106.61 50[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];51[label="(*) (vuz90 :% vuz91) vuz30",fontsize=16,color="burlywood",shape="box"];1103[label="vuz30/vuz300 :% vuz301",fontsize=10,color="white",style="solid",shape="box"];51 -> 1103[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1103 -> 58[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 52[label="(*) Integer vuz100 vuz30",fontsize=16,color="burlywood",shape="box"];1104[label="vuz30/Integer vuz300",fontsize=10,color="white",style="solid",shape="box"];52 -> 1104[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1104 -> 59[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 53[label="primMulDouble vuz11 vuz30",fontsize=16,color="burlywood",shape="box"];1105[label="vuz11/Double vuz110 vuz111",fontsize=10,color="white",style="solid",shape="box"];53 -> 1105[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1105 -> 60[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 54[label="primMulFloat vuz12 vuz30",fontsize=16,color="burlywood",shape="box"];1106[label="vuz12/Float vuz120 vuz121",fontsize=10,color="white",style="solid",shape="box"];54 -> 1106[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1106 -> 61[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 55[label="primMulInt vuz13 vuz30",fontsize=16,color="burlywood",shape="triangle"];1107[label="vuz13/Pos vuz130",fontsize=10,color="white",style="solid",shape="box"];55 -> 1107[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1107 -> 62[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1108[label="vuz13/Neg vuz130",fontsize=10,color="white",style="solid",shape="box"];55 -> 1108[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1108 -> 63[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 56[label="(foldl' (*) $! (*) vuz7 vuz80)",fontsize=16,color="black",shape="box"];56 -> 64[label="",style="solid", color="black", weight=3]; 149.10/106.61 57[label="vuz7",fontsize=16,color="green",shape="box"];58[label="(*) (vuz90 :% vuz91) (vuz300 :% vuz301)",fontsize=16,color="black",shape="box"];58 -> 65[label="",style="solid", color="black", weight=3]; 149.10/106.61 59[label="(*) Integer vuz100 Integer vuz300",fontsize=16,color="black",shape="box"];59 -> 66[label="",style="solid", color="black", weight=3]; 149.10/106.61 60[label="primMulDouble (Double vuz110 vuz111) vuz30",fontsize=16,color="burlywood",shape="box"];1109[label="vuz30/Double vuz300 vuz301",fontsize=10,color="white",style="solid",shape="box"];60 -> 1109[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1109 -> 67[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 61[label="primMulFloat (Float vuz120 vuz121) vuz30",fontsize=16,color="burlywood",shape="box"];1110[label="vuz30/Float vuz300 vuz301",fontsize=10,color="white",style="solid",shape="box"];61 -> 1110[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1110 -> 68[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 62[label="primMulInt (Pos vuz130) vuz30",fontsize=16,color="burlywood",shape="box"];1111[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];62 -> 1111[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1111 -> 69[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1112[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];62 -> 1112[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1112 -> 70[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 63[label="primMulInt (Neg vuz130) vuz30",fontsize=16,color="burlywood",shape="box"];1113[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];63 -> 1113[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1113 -> 71[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1114[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];63 -> 1114[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1114 -> 72[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 64[label="((*) vuz7 vuz80 `seq` foldl' (*) ((*) vuz7 vuz80))",fontsize=16,color="black",shape="box"];64 -> 73[label="",style="solid", color="black", weight=3]; 149.10/106.61 65[label="reduce (vuz90 * vuz300) (vuz91 * vuz301)",fontsize=16,color="black",shape="box"];65 -> 74[label="",style="solid", color="black", weight=3]; 149.10/106.61 66[label="Integer (primMulInt vuz100 vuz300)",fontsize=16,color="green",shape="box"];66 -> 75[label="",style="dashed", color="green", weight=3]; 149.10/106.61 67[label="primMulDouble (Double vuz110 vuz111) (Double vuz300 vuz301)",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 149.10/106.61 68[label="primMulFloat (Float vuz120 vuz121) (Float vuz300 vuz301)",fontsize=16,color="black",shape="box"];68 -> 77[label="",style="solid", color="black", weight=3]; 149.10/106.61 69[label="primMulInt (Pos vuz130) (Pos vuz300)",fontsize=16,color="black",shape="box"];69 -> 78[label="",style="solid", color="black", weight=3]; 149.10/106.61 70[label="primMulInt (Pos vuz130) (Neg vuz300)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 149.10/106.61 71[label="primMulInt (Neg vuz130) (Pos vuz300)",fontsize=16,color="black",shape="box"];71 -> 80[label="",style="solid", color="black", weight=3]; 149.10/106.61 72[label="primMulInt (Neg vuz130) (Neg vuz300)",fontsize=16,color="black",shape="box"];72 -> 81[label="",style="solid", color="black", weight=3]; 149.10/106.61 73 -> 21[label="",style="dashed", color="red", weight=0]; 149.10/106.61 73[label="enforceWHNF (WHNF ((*) vuz7 vuz80)) (foldl' (*) ((*) vuz7 vuz80)) vuz81",fontsize=16,color="magenta"];73 -> 82[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 73 -> 83[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 74[label="reduce2 (vuz90 * vuz300) (vuz91 * vuz301)",fontsize=16,color="black",shape="box"];74 -> 84[label="",style="solid", color="black", weight=3]; 149.10/106.61 75 -> 55[label="",style="dashed", color="red", weight=0]; 149.10/106.61 75[label="primMulInt vuz100 vuz300",fontsize=16,color="magenta"];75 -> 85[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 75 -> 86[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 76[label="Double (vuz110 * vuz300) (vuz111 * vuz301)",fontsize=16,color="green",shape="box"];76 -> 87[label="",style="dashed", color="green", weight=3]; 149.10/106.61 76 -> 88[label="",style="dashed", color="green", weight=3]; 149.10/106.61 77[label="Float (vuz120 * vuz300) (vuz121 * vuz301)",fontsize=16,color="green",shape="box"];77 -> 89[label="",style="dashed", color="green", weight=3]; 149.10/106.61 77 -> 90[label="",style="dashed", color="green", weight=3]; 149.10/106.61 78[label="Pos (primMulNat vuz130 vuz300)",fontsize=16,color="green",shape="box"];78 -> 91[label="",style="dashed", color="green", weight=3]; 149.10/106.61 79[label="Neg (primMulNat vuz130 vuz300)",fontsize=16,color="green",shape="box"];79 -> 92[label="",style="dashed", color="green", weight=3]; 149.10/106.61 80[label="Neg (primMulNat vuz130 vuz300)",fontsize=16,color="green",shape="box"];80 -> 93[label="",style="dashed", color="green", weight=3]; 149.10/106.61 81[label="Pos (primMulNat vuz130 vuz300)",fontsize=16,color="green",shape="box"];81 -> 94[label="",style="dashed", color="green", weight=3]; 149.10/106.61 82[label="vuz81",fontsize=16,color="green",shape="box"];83[label="(*) vuz7 vuz80",fontsize=16,color="blue",shape="box"];1115[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];83 -> 1115[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1115 -> 95[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1116[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];83 -> 1116[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1116 -> 96[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1117[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];83 -> 1117[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1117 -> 97[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1118[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];83 -> 1118[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1118 -> 98[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1119[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];83 -> 1119[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1119 -> 99[label="",style="solid", color="blue", weight=3]; 149.10/106.61 84 -> 100[label="",style="dashed", color="red", weight=0]; 149.10/106.61 84[label="reduce2Reduce1 (vuz90 * vuz300) (vuz91 * vuz301) (vuz90 * vuz300) (vuz91 * vuz301) (vuz91 * vuz301 == fromInt (Pos Zero))",fontsize=16,color="magenta"];84 -> 101[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 84 -> 102[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 84 -> 103[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 84 -> 104[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 84 -> 105[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 85[label="vuz300",fontsize=16,color="green",shape="box"];86[label="vuz100",fontsize=16,color="green",shape="box"];87 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 87[label="vuz110 * vuz300",fontsize=16,color="magenta"];87 -> 106[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 87 -> 107[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 88 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 88[label="vuz111 * vuz301",fontsize=16,color="magenta"];88 -> 108[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 88 -> 109[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 89 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 89[label="vuz120 * vuz300",fontsize=16,color="magenta"];89 -> 110[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 89 -> 111[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 90 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 90[label="vuz121 * vuz301",fontsize=16,color="magenta"];90 -> 112[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 90 -> 113[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 91[label="primMulNat vuz130 vuz300",fontsize=16,color="burlywood",shape="triangle"];1120[label="vuz130/Succ vuz1300",fontsize=10,color="white",style="solid",shape="box"];91 -> 1120[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1120 -> 114[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1121[label="vuz130/Zero",fontsize=10,color="white",style="solid",shape="box"];91 -> 1121[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1121 -> 115[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 92 -> 91[label="",style="dashed", color="red", weight=0]; 149.10/106.61 92[label="primMulNat vuz130 vuz300",fontsize=16,color="magenta"];92 -> 116[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 93 -> 91[label="",style="dashed", color="red", weight=0]; 149.10/106.61 93[label="primMulNat vuz130 vuz300",fontsize=16,color="magenta"];93 -> 117[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 94 -> 91[label="",style="dashed", color="red", weight=0]; 149.10/106.61 94[label="primMulNat vuz130 vuz300",fontsize=16,color="magenta"];94 -> 118[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 94 -> 119[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 95 -> 35[label="",style="dashed", color="red", weight=0]; 149.10/106.61 95[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];95 -> 120[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 95 -> 121[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 96 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 96[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];96 -> 122[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 96 -> 123[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 97 -> 39[label="",style="dashed", color="red", weight=0]; 149.10/106.61 97[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];97 -> 124[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 97 -> 125[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 98 -> 41[label="",style="dashed", color="red", weight=0]; 149.10/106.61 98[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];98 -> 126[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 98 -> 127[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 99 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 99[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];99 -> 128[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 99 -> 129[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 101[label="vuz300",fontsize=16,color="green",shape="box"];102[label="vuz301",fontsize=16,color="green",shape="box"];103[label="vuz91 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1122[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];103 -> 1122[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1122 -> 130[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1123[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];103 -> 1123[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1123 -> 131[label="",style="solid", color="blue", weight=3]; 149.10/106.61 104[label="vuz91",fontsize=16,color="green",shape="box"];105[label="vuz90",fontsize=16,color="green",shape="box"];100[label="reduce2Reduce1 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) vuz24",fontsize=16,color="burlywood",shape="triangle"];1124[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];100 -> 1124[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1124 -> 132[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1125[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];100 -> 1125[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1125 -> 133[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 106[label="vuz300",fontsize=16,color="green",shape="box"];107[label="vuz110",fontsize=16,color="green",shape="box"];108[label="vuz301",fontsize=16,color="green",shape="box"];109[label="vuz111",fontsize=16,color="green",shape="box"];110[label="vuz300",fontsize=16,color="green",shape="box"];111[label="vuz120",fontsize=16,color="green",shape="box"];112[label="vuz301",fontsize=16,color="green",shape="box"];113[label="vuz121",fontsize=16,color="green",shape="box"];114[label="primMulNat (Succ vuz1300) vuz300",fontsize=16,color="burlywood",shape="box"];1126[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];114 -> 1126[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1126 -> 134[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1127[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];114 -> 1127[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1127 -> 135[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 115[label="primMulNat Zero vuz300",fontsize=16,color="burlywood",shape="box"];1128[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];115 -> 1128[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1128 -> 136[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1129[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];115 -> 1129[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1129 -> 137[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 116[label="vuz300",fontsize=16,color="green",shape="box"];117[label="vuz130",fontsize=16,color="green",shape="box"];118[label="vuz300",fontsize=16,color="green",shape="box"];119[label="vuz130",fontsize=16,color="green",shape="box"];120[label="vuz80",fontsize=16,color="green",shape="box"];121[label="vuz7",fontsize=16,color="green",shape="box"];122[label="vuz80",fontsize=16,color="green",shape="box"];123[label="vuz7",fontsize=16,color="green",shape="box"];124[label="vuz7",fontsize=16,color="green",shape="box"];125[label="vuz80",fontsize=16,color="green",shape="box"];126[label="vuz80",fontsize=16,color="green",shape="box"];127[label="vuz7",fontsize=16,color="green",shape="box"];128[label="vuz80",fontsize=16,color="green",shape="box"];129[label="vuz7",fontsize=16,color="green",shape="box"];130 -> 138[label="",style="dashed", color="red", weight=0]; 149.10/106.61 130[label="vuz91 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="magenta"];130 -> 139[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 131 -> 140[label="",style="dashed", color="red", weight=0]; 149.10/106.61 131[label="vuz91 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="magenta"];131 -> 141[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 132[label="reduce2Reduce1 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) False",fontsize=16,color="black",shape="box"];132 -> 142[label="",style="solid", color="black", weight=3]; 149.10/106.61 133[label="reduce2Reduce1 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) True",fontsize=16,color="black",shape="box"];133 -> 143[label="",style="solid", color="black", weight=3]; 149.10/106.61 134[label="primMulNat (Succ vuz1300) (Succ vuz3000)",fontsize=16,color="black",shape="box"];134 -> 144[label="",style="solid", color="black", weight=3]; 149.10/106.61 135[label="primMulNat (Succ vuz1300) Zero",fontsize=16,color="black",shape="box"];135 -> 145[label="",style="solid", color="black", weight=3]; 149.10/106.61 136[label="primMulNat Zero (Succ vuz3000)",fontsize=16,color="black",shape="box"];136 -> 146[label="",style="solid", color="black", weight=3]; 149.10/106.61 137[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];137 -> 147[label="",style="solid", color="black", weight=3]; 149.10/106.61 139 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 139[label="vuz91 * vuz301",fontsize=16,color="magenta"];139 -> 148[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 139 -> 149[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 138[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1130[label="vuz25/Integer vuz250",fontsize=10,color="white",style="solid",shape="box"];138 -> 1130[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1130 -> 150[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 141 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 141[label="vuz91 * vuz301",fontsize=16,color="magenta"];141 -> 151[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 141 -> 152[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 140[label="vuz26 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];140 -> 153[label="",style="solid", color="black", weight=3]; 149.10/106.61 142[label="reduce2Reduce0 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) otherwise",fontsize=16,color="black",shape="box"];142 -> 154[label="",style="solid", color="black", weight=3]; 149.10/106.61 143[label="error []",fontsize=16,color="black",shape="box"];143 -> 155[label="",style="solid", color="black", weight=3]; 149.10/106.61 144 -> 156[label="",style="dashed", color="red", weight=0]; 149.10/106.61 144[label="primPlusNat (primMulNat vuz1300 (Succ vuz3000)) (Succ vuz3000)",fontsize=16,color="magenta"];144 -> 157[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 145[label="Zero",fontsize=16,color="green",shape="box"];146[label="Zero",fontsize=16,color="green",shape="box"];147[label="Zero",fontsize=16,color="green",shape="box"];148[label="vuz301",fontsize=16,color="green",shape="box"];149[label="vuz91",fontsize=16,color="green",shape="box"];150[label="Integer vuz250 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];150 -> 158[label="",style="solid", color="black", weight=3]; 149.10/106.61 151[label="vuz301",fontsize=16,color="green",shape="box"];152[label="vuz91",fontsize=16,color="green",shape="box"];153[label="primEqInt vuz26 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1131[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];153 -> 1131[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1131 -> 159[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1132[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];153 -> 1132[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1132 -> 160[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 154[label="reduce2Reduce0 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) True",fontsize=16,color="black",shape="box"];154 -> 161[label="",style="solid", color="black", weight=3]; 149.10/106.61 155[label="error []",fontsize=16,color="red",shape="box"];157 -> 91[label="",style="dashed", color="red", weight=0]; 149.10/106.61 157[label="primMulNat vuz1300 (Succ vuz3000)",fontsize=16,color="magenta"];157 -> 162[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 157 -> 163[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 156[label="primPlusNat vuz27 (Succ vuz3000)",fontsize=16,color="burlywood",shape="triangle"];1133[label="vuz27/Succ vuz270",fontsize=10,color="white",style="solid",shape="box"];156 -> 1133[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1133 -> 164[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1134[label="vuz27/Zero",fontsize=10,color="white",style="solid",shape="box"];156 -> 1134[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1134 -> 165[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 158[label="Integer vuz250 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];158 -> 166[label="",style="solid", color="black", weight=3]; 149.10/106.61 159[label="primEqInt (Pos vuz260) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1135[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];159 -> 1135[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1135 -> 167[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1136[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 1136[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1136 -> 168[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 160[label="primEqInt (Neg vuz260) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1137[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];160 -> 1137[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1137 -> 169[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1138[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];160 -> 1138[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1138 -> 170[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 161[label="vuz20 * vuz21 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23) :% (vuz22 * vuz23 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23))",fontsize=16,color="green",shape="box"];161 -> 171[label="",style="dashed", color="green", weight=3]; 149.10/106.61 161 -> 172[label="",style="dashed", color="green", weight=3]; 149.10/106.61 162[label="Succ vuz3000",fontsize=16,color="green",shape="box"];163[label="vuz1300",fontsize=16,color="green",shape="box"];164[label="primPlusNat (Succ vuz270) (Succ vuz3000)",fontsize=16,color="black",shape="box"];164 -> 173[label="",style="solid", color="black", weight=3]; 149.10/106.61 165[label="primPlusNat Zero (Succ vuz3000)",fontsize=16,color="black",shape="box"];165 -> 174[label="",style="solid", color="black", weight=3]; 149.10/106.61 166[label="primEqInt vuz250 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1139[label="vuz250/Pos vuz2500",fontsize=10,color="white",style="solid",shape="box"];166 -> 1139[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1139 -> 175[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1140[label="vuz250/Neg vuz2500",fontsize=10,color="white",style="solid",shape="box"];166 -> 1140[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1140 -> 176[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 167[label="primEqInt (Pos (Succ vuz2600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];167 -> 177[label="",style="solid", color="black", weight=3]; 149.10/106.61 168[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];168 -> 178[label="",style="solid", color="black", weight=3]; 149.10/106.61 169[label="primEqInt (Neg (Succ vuz2600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];169 -> 179[label="",style="solid", color="black", weight=3]; 149.10/106.61 170[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];170 -> 180[label="",style="solid", color="black", weight=3]; 149.10/106.61 171[label="vuz20 * vuz21 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="blue",shape="box"];1141[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];171 -> 1141[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1141 -> 181[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1142[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];171 -> 1142[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1142 -> 182[label="",style="solid", color="blue", weight=3]; 149.10/106.61 172[label="vuz22 * vuz23 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="blue",shape="box"];1143[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];172 -> 1143[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1143 -> 183[label="",style="solid", color="blue", weight=3]; 149.10/106.61 1144[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];172 -> 1144[label="",style="solid", color="blue", weight=9]; 149.10/106.61 1144 -> 184[label="",style="solid", color="blue", weight=3]; 149.10/106.61 173[label="Succ (Succ (primPlusNat vuz270 vuz3000))",fontsize=16,color="green",shape="box"];173 -> 185[label="",style="dashed", color="green", weight=3]; 149.10/106.61 174[label="Succ vuz3000",fontsize=16,color="green",shape="box"];175[label="primEqInt (Pos vuz2500) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1145[label="vuz2500/Succ vuz25000",fontsize=10,color="white",style="solid",shape="box"];175 -> 1145[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1145 -> 186[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1146[label="vuz2500/Zero",fontsize=10,color="white",style="solid",shape="box"];175 -> 1146[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1146 -> 187[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 176[label="primEqInt (Neg vuz2500) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1147[label="vuz2500/Succ vuz25000",fontsize=10,color="white",style="solid",shape="box"];176 -> 1147[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1147 -> 188[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1148[label="vuz2500/Zero",fontsize=10,color="white",style="solid",shape="box"];176 -> 1148[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1148 -> 189[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 177 -> 166[label="",style="dashed", color="red", weight=0]; 149.10/106.61 177[label="primEqInt (Pos (Succ vuz2600)) (Pos Zero)",fontsize=16,color="magenta"];177 -> 190[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 178 -> 166[label="",style="dashed", color="red", weight=0]; 149.10/106.61 178[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];178 -> 191[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 179 -> 166[label="",style="dashed", color="red", weight=0]; 149.10/106.61 179[label="primEqInt (Neg (Succ vuz2600)) (Pos Zero)",fontsize=16,color="magenta"];179 -> 192[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 180 -> 166[label="",style="dashed", color="red", weight=0]; 149.10/106.61 180[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];180 -> 193[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 181 -> 194[label="",style="dashed", color="red", weight=0]; 149.10/106.61 181[label="vuz20 * vuz21 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="magenta"];181 -> 195[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 181 -> 196[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 181 -> 197[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 182 -> 201[label="",style="dashed", color="red", weight=0]; 149.10/106.61 182[label="vuz20 * vuz21 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="magenta"];182 -> 202[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 182 -> 203[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 182 -> 204[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 183 -> 194[label="",style="dashed", color="red", weight=0]; 149.10/106.61 183[label="vuz22 * vuz23 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="magenta"];183 -> 198[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 183 -> 199[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 183 -> 200[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 184 -> 201[label="",style="dashed", color="red", weight=0]; 149.10/106.61 184[label="vuz22 * vuz23 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="magenta"];184 -> 205[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 184 -> 206[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 184 -> 207[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 185[label="primPlusNat vuz270 vuz3000",fontsize=16,color="burlywood",shape="triangle"];1149[label="vuz270/Succ vuz2700",fontsize=10,color="white",style="solid",shape="box"];185 -> 1149[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1149 -> 208[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1150[label="vuz270/Zero",fontsize=10,color="white",style="solid",shape="box"];185 -> 1150[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1150 -> 209[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 186[label="primEqInt (Pos (Succ vuz25000)) (Pos Zero)",fontsize=16,color="black",shape="box"];186 -> 210[label="",style="solid", color="black", weight=3]; 149.10/106.61 187[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];187 -> 211[label="",style="solid", color="black", weight=3]; 149.10/106.61 188[label="primEqInt (Neg (Succ vuz25000)) (Pos Zero)",fontsize=16,color="black",shape="box"];188 -> 212[label="",style="solid", color="black", weight=3]; 149.10/106.61 189[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];189 -> 213[label="",style="solid", color="black", weight=3]; 149.10/106.61 190[label="Pos (Succ vuz2600)",fontsize=16,color="green",shape="box"];191[label="Pos Zero",fontsize=16,color="green",shape="box"];192[label="Neg (Succ vuz2600)",fontsize=16,color="green",shape="box"];193[label="Neg Zero",fontsize=16,color="green",shape="box"];195 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 195[label="vuz20 * vuz21",fontsize=16,color="magenta"];195 -> 214[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 195 -> 215[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 196 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 196[label="vuz22 * vuz23",fontsize=16,color="magenta"];196 -> 216[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 196 -> 217[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 197 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 197[label="vuz20 * vuz21",fontsize=16,color="magenta"];197 -> 218[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 197 -> 219[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 194[label="vuz28 `quot` reduce2D vuz30 vuz29",fontsize=16,color="black",shape="triangle"];194 -> 220[label="",style="solid", color="black", weight=3]; 149.10/106.61 202 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 202[label="vuz20 * vuz21",fontsize=16,color="magenta"];202 -> 221[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 202 -> 222[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 203 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 203[label="vuz22 * vuz23",fontsize=16,color="magenta"];203 -> 223[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 203 -> 224[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 204 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 204[label="vuz20 * vuz21",fontsize=16,color="magenta"];204 -> 225[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 204 -> 226[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 201[label="vuz31 `quot` reduce2D vuz33 vuz32",fontsize=16,color="burlywood",shape="triangle"];1151[label="vuz31/Integer vuz310",fontsize=10,color="white",style="solid",shape="box"];201 -> 1151[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1151 -> 227[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 198 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 198[label="vuz22 * vuz23",fontsize=16,color="magenta"];198 -> 228[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 198 -> 229[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 199 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 199[label="vuz22 * vuz23",fontsize=16,color="magenta"];199 -> 230[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 199 -> 231[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 200 -> 43[label="",style="dashed", color="red", weight=0]; 149.10/106.61 200[label="vuz20 * vuz21",fontsize=16,color="magenta"];200 -> 232[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 200 -> 233[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 205 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 205[label="vuz20 * vuz21",fontsize=16,color="magenta"];205 -> 234[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 205 -> 235[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 206 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 206[label="vuz22 * vuz23",fontsize=16,color="magenta"];206 -> 236[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 206 -> 237[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 207 -> 37[label="",style="dashed", color="red", weight=0]; 149.10/106.61 207[label="vuz22 * vuz23",fontsize=16,color="magenta"];207 -> 238[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 207 -> 239[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 208[label="primPlusNat (Succ vuz2700) vuz3000",fontsize=16,color="burlywood",shape="box"];1152[label="vuz3000/Succ vuz30000",fontsize=10,color="white",style="solid",shape="box"];208 -> 1152[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1152 -> 240[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1153[label="vuz3000/Zero",fontsize=10,color="white",style="solid",shape="box"];208 -> 1153[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1153 -> 241[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 209[label="primPlusNat Zero vuz3000",fontsize=16,color="burlywood",shape="box"];1154[label="vuz3000/Succ vuz30000",fontsize=10,color="white",style="solid",shape="box"];209 -> 1154[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1154 -> 242[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1155[label="vuz3000/Zero",fontsize=10,color="white",style="solid",shape="box"];209 -> 1155[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1155 -> 243[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 210[label="False",fontsize=16,color="green",shape="box"];211[label="True",fontsize=16,color="green",shape="box"];212[label="False",fontsize=16,color="green",shape="box"];213[label="True",fontsize=16,color="green",shape="box"];214[label="vuz21",fontsize=16,color="green",shape="box"];215[label="vuz20",fontsize=16,color="green",shape="box"];216[label="vuz23",fontsize=16,color="green",shape="box"];217[label="vuz22",fontsize=16,color="green",shape="box"];218[label="vuz21",fontsize=16,color="green",shape="box"];219[label="vuz20",fontsize=16,color="green",shape="box"];220[label="primQuotInt vuz28 (reduce2D vuz30 vuz29)",fontsize=16,color="burlywood",shape="box"];1156[label="vuz28/Pos vuz280",fontsize=10,color="white",style="solid",shape="box"];220 -> 1156[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1156 -> 244[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1157[label="vuz28/Neg vuz280",fontsize=10,color="white",style="solid",shape="box"];220 -> 1157[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1157 -> 245[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 221[label="vuz21",fontsize=16,color="green",shape="box"];222[label="vuz20",fontsize=16,color="green",shape="box"];223[label="vuz23",fontsize=16,color="green",shape="box"];224[label="vuz22",fontsize=16,color="green",shape="box"];225[label="vuz21",fontsize=16,color="green",shape="box"];226[label="vuz20",fontsize=16,color="green",shape="box"];227[label="Integer vuz310 `quot` reduce2D vuz33 vuz32",fontsize=16,color="black",shape="box"];227 -> 246[label="",style="solid", color="black", weight=3]; 149.10/106.61 228[label="vuz23",fontsize=16,color="green",shape="box"];229[label="vuz22",fontsize=16,color="green",shape="box"];230[label="vuz23",fontsize=16,color="green",shape="box"];231[label="vuz22",fontsize=16,color="green",shape="box"];232[label="vuz21",fontsize=16,color="green",shape="box"];233[label="vuz20",fontsize=16,color="green",shape="box"];234[label="vuz21",fontsize=16,color="green",shape="box"];235[label="vuz20",fontsize=16,color="green",shape="box"];236[label="vuz23",fontsize=16,color="green",shape="box"];237[label="vuz22",fontsize=16,color="green",shape="box"];238[label="vuz23",fontsize=16,color="green",shape="box"];239[label="vuz22",fontsize=16,color="green",shape="box"];240[label="primPlusNat (Succ vuz2700) (Succ vuz30000)",fontsize=16,color="black",shape="box"];240 -> 247[label="",style="solid", color="black", weight=3]; 149.10/106.61 241[label="primPlusNat (Succ vuz2700) Zero",fontsize=16,color="black",shape="box"];241 -> 248[label="",style="solid", color="black", weight=3]; 149.10/106.61 242[label="primPlusNat Zero (Succ vuz30000)",fontsize=16,color="black",shape="box"];242 -> 249[label="",style="solid", color="black", weight=3]; 149.10/106.61 243[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];243 -> 250[label="",style="solid", color="black", weight=3]; 149.10/106.61 244[label="primQuotInt (Pos vuz280) (reduce2D vuz30 vuz29)",fontsize=16,color="black",shape="box"];244 -> 251[label="",style="solid", color="black", weight=3]; 149.10/106.61 245[label="primQuotInt (Neg vuz280) (reduce2D vuz30 vuz29)",fontsize=16,color="black",shape="box"];245 -> 252[label="",style="solid", color="black", weight=3]; 149.10/106.61 246 -> 343[label="",style="dashed", color="red", weight=0]; 149.10/106.61 246[label="Integer vuz310 `quot` gcd vuz33 vuz32",fontsize=16,color="magenta"];246 -> 344[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 247[label="Succ (Succ (primPlusNat vuz2700 vuz30000))",fontsize=16,color="green",shape="box"];247 -> 254[label="",style="dashed", color="green", weight=3]; 149.10/106.61 248[label="Succ vuz2700",fontsize=16,color="green",shape="box"];249[label="Succ vuz30000",fontsize=16,color="green",shape="box"];250[label="Zero",fontsize=16,color="green",shape="box"];251 -> 368[label="",style="dashed", color="red", weight=0]; 149.10/106.61 251[label="primQuotInt (Pos vuz280) (gcd vuz30 vuz29)",fontsize=16,color="magenta"];251 -> 369[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 252[label="primQuotInt (Neg vuz280) (gcd vuz30 vuz29)",fontsize=16,color="black",shape="box"];252 -> 256[label="",style="solid", color="black", weight=3]; 149.10/106.61 344[label="gcd vuz33 vuz32",fontsize=16,color="black",shape="box"];344 -> 360[label="",style="solid", color="black", weight=3]; 149.10/106.61 343[label="Integer vuz310 `quot` vuz45",fontsize=16,color="burlywood",shape="triangle"];1158[label="vuz45/Integer vuz450",fontsize=10,color="white",style="solid",shape="box"];343 -> 1158[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1158 -> 361[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 254 -> 185[label="",style="dashed", color="red", weight=0]; 149.10/106.61 254[label="primPlusNat vuz2700 vuz30000",fontsize=16,color="magenta"];254 -> 258[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 254 -> 259[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 369[label="gcd vuz30 vuz29",fontsize=16,color="black",shape="box"];369 -> 385[label="",style="solid", color="black", weight=3]; 149.10/106.61 368[label="primQuotInt (Pos vuz280) vuz48",fontsize=16,color="burlywood",shape="triangle"];1159[label="vuz48/Pos vuz480",fontsize=10,color="white",style="solid",shape="box"];368 -> 1159[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1159 -> 386[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1160[label="vuz48/Neg vuz480",fontsize=10,color="white",style="solid",shape="box"];368 -> 1160[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1160 -> 387[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 256[label="primQuotInt (Neg vuz280) (gcd3 vuz30 vuz29)",fontsize=16,color="black",shape="box"];256 -> 261[label="",style="solid", color="black", weight=3]; 149.10/106.61 360[label="gcd3 vuz33 vuz32",fontsize=16,color="black",shape="box"];360 -> 366[label="",style="solid", color="black", weight=3]; 149.10/106.61 361[label="Integer vuz310 `quot` Integer vuz450",fontsize=16,color="black",shape="box"];361 -> 367[label="",style="solid", color="black", weight=3]; 149.10/106.61 258[label="vuz2700",fontsize=16,color="green",shape="box"];259[label="vuz30000",fontsize=16,color="green",shape="box"];385[label="gcd3 vuz30 vuz29",fontsize=16,color="black",shape="box"];385 -> 390[label="",style="solid", color="black", weight=3]; 149.10/106.61 386[label="primQuotInt (Pos vuz280) (Pos vuz480)",fontsize=16,color="burlywood",shape="box"];1161[label="vuz480/Succ vuz4800",fontsize=10,color="white",style="solid",shape="box"];386 -> 1161[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1161 -> 391[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1162[label="vuz480/Zero",fontsize=10,color="white",style="solid",shape="box"];386 -> 1162[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1162 -> 392[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 387[label="primQuotInt (Pos vuz280) (Neg vuz480)",fontsize=16,color="burlywood",shape="box"];1163[label="vuz480/Succ vuz4800",fontsize=10,color="white",style="solid",shape="box"];387 -> 1163[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1163 -> 393[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1164[label="vuz480/Zero",fontsize=10,color="white",style="solid",shape="box"];387 -> 1164[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1164 -> 394[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 261 -> 266[label="",style="dashed", color="red", weight=0]; 149.10/106.61 261[label="primQuotInt (Neg vuz280) (gcd2 (vuz30 == fromInt (Pos Zero)) vuz30 vuz29)",fontsize=16,color="magenta"];261 -> 267[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 366 -> 388[label="",style="dashed", color="red", weight=0]; 149.10/106.61 366[label="gcd2 (vuz33 == fromInt (Pos Zero)) vuz33 vuz32",fontsize=16,color="magenta"];366 -> 389[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 367[label="Integer (primQuotInt vuz310 vuz450)",fontsize=16,color="green",shape="box"];367 -> 395[label="",style="dashed", color="green", weight=3]; 149.10/106.61 390 -> 402[label="",style="dashed", color="red", weight=0]; 149.10/106.61 390[label="gcd2 (vuz30 == fromInt (Pos Zero)) vuz30 vuz29",fontsize=16,color="magenta"];390 -> 403[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 391[label="primQuotInt (Pos vuz280) (Pos (Succ vuz4800))",fontsize=16,color="black",shape="box"];391 -> 404[label="",style="solid", color="black", weight=3]; 149.10/106.61 392[label="primQuotInt (Pos vuz280) (Pos Zero)",fontsize=16,color="black",shape="box"];392 -> 405[label="",style="solid", color="black", weight=3]; 149.10/106.61 393[label="primQuotInt (Pos vuz280) (Neg (Succ vuz4800))",fontsize=16,color="black",shape="box"];393 -> 406[label="",style="solid", color="black", weight=3]; 149.10/106.61 394[label="primQuotInt (Pos vuz280) (Neg Zero)",fontsize=16,color="black",shape="box"];394 -> 407[label="",style="solid", color="black", weight=3]; 149.10/106.61 267 -> 140[label="",style="dashed", color="red", weight=0]; 149.10/106.61 267[label="vuz30 == fromInt (Pos Zero)",fontsize=16,color="magenta"];267 -> 274[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 266[label="primQuotInt (Neg vuz280) (gcd2 vuz36 vuz30 vuz29)",fontsize=16,color="burlywood",shape="triangle"];1165[label="vuz36/False",fontsize=10,color="white",style="solid",shape="box"];266 -> 1165[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1165 -> 275[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1166[label="vuz36/True",fontsize=10,color="white",style="solid",shape="box"];266 -> 1166[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1166 -> 276[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 389 -> 138[label="",style="dashed", color="red", weight=0]; 149.10/106.61 389[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];389 -> 396[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 388[label="gcd2 vuz49 vuz33 vuz32",fontsize=16,color="burlywood",shape="triangle"];1167[label="vuz49/False",fontsize=10,color="white",style="solid",shape="box"];388 -> 1167[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1167 -> 397[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1168[label="vuz49/True",fontsize=10,color="white",style="solid",shape="box"];388 -> 1168[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1168 -> 398[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 395[label="primQuotInt vuz310 vuz450",fontsize=16,color="burlywood",shape="triangle"];1169[label="vuz310/Pos vuz3100",fontsize=10,color="white",style="solid",shape="box"];395 -> 1169[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1169 -> 408[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1170[label="vuz310/Neg vuz3100",fontsize=10,color="white",style="solid",shape="box"];395 -> 1170[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1170 -> 409[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 403 -> 140[label="",style="dashed", color="red", weight=0]; 149.10/106.61 403[label="vuz30 == fromInt (Pos Zero)",fontsize=16,color="magenta"];403 -> 410[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 402[label="gcd2 vuz52 vuz30 vuz29",fontsize=16,color="burlywood",shape="triangle"];1171[label="vuz52/False",fontsize=10,color="white",style="solid",shape="box"];402 -> 1171[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1171 -> 411[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1172[label="vuz52/True",fontsize=10,color="white",style="solid",shape="box"];402 -> 1172[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1172 -> 412[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 404[label="Pos (primDivNatS vuz280 (Succ vuz4800))",fontsize=16,color="green",shape="box"];404 -> 421[label="",style="dashed", color="green", weight=3]; 149.10/106.61 405[label="error []",fontsize=16,color="black",shape="triangle"];405 -> 422[label="",style="solid", color="black", weight=3]; 149.10/106.61 406[label="Neg (primDivNatS vuz280 (Succ vuz4800))",fontsize=16,color="green",shape="box"];406 -> 423[label="",style="dashed", color="green", weight=3]; 149.10/106.61 407 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 407[label="error []",fontsize=16,color="magenta"];274[label="vuz30",fontsize=16,color="green",shape="box"];275[label="primQuotInt (Neg vuz280) (gcd2 False vuz30 vuz29)",fontsize=16,color="black",shape="box"];275 -> 281[label="",style="solid", color="black", weight=3]; 149.10/106.61 276[label="primQuotInt (Neg vuz280) (gcd2 True vuz30 vuz29)",fontsize=16,color="black",shape="box"];276 -> 282[label="",style="solid", color="black", weight=3]; 149.10/106.61 396[label="vuz33",fontsize=16,color="green",shape="box"];397[label="gcd2 False vuz33 vuz32",fontsize=16,color="black",shape="box"];397 -> 413[label="",style="solid", color="black", weight=3]; 149.10/106.61 398[label="gcd2 True vuz33 vuz32",fontsize=16,color="black",shape="box"];398 -> 414[label="",style="solid", color="black", weight=3]; 149.10/106.61 408[label="primQuotInt (Pos vuz3100) vuz450",fontsize=16,color="burlywood",shape="box"];1173[label="vuz450/Pos vuz4500",fontsize=10,color="white",style="solid",shape="box"];408 -> 1173[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1173 -> 424[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1174[label="vuz450/Neg vuz4500",fontsize=10,color="white",style="solid",shape="box"];408 -> 1174[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1174 -> 425[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 409[label="primQuotInt (Neg vuz3100) vuz450",fontsize=16,color="burlywood",shape="box"];1175[label="vuz450/Pos vuz4500",fontsize=10,color="white",style="solid",shape="box"];409 -> 1175[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1175 -> 426[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1176[label="vuz450/Neg vuz4500",fontsize=10,color="white",style="solid",shape="box"];409 -> 1176[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1176 -> 427[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 410[label="vuz30",fontsize=16,color="green",shape="box"];411[label="gcd2 False vuz30 vuz29",fontsize=16,color="black",shape="box"];411 -> 428[label="",style="solid", color="black", weight=3]; 149.10/106.61 412[label="gcd2 True vuz30 vuz29",fontsize=16,color="black",shape="box"];412 -> 429[label="",style="solid", color="black", weight=3]; 149.10/106.61 421[label="primDivNatS vuz280 (Succ vuz4800)",fontsize=16,color="burlywood",shape="triangle"];1177[label="vuz280/Succ vuz2800",fontsize=10,color="white",style="solid",shape="box"];421 -> 1177[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1177 -> 433[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1178[label="vuz280/Zero",fontsize=10,color="white",style="solid",shape="box"];421 -> 1178[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1178 -> 434[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 422[label="error []",fontsize=16,color="red",shape="box"];423 -> 421[label="",style="dashed", color="red", weight=0]; 149.10/106.61 423[label="primDivNatS vuz280 (Succ vuz4800)",fontsize=16,color="magenta"];423 -> 435[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 281[label="primQuotInt (Neg vuz280) (gcd0 vuz30 vuz29)",fontsize=16,color="black",shape="triangle"];281 -> 289[label="",style="solid", color="black", weight=3]; 149.10/106.61 282 -> 290[label="",style="dashed", color="red", weight=0]; 149.10/106.61 282[label="primQuotInt (Neg vuz280) (gcd1 (vuz29 == fromInt (Pos Zero)) vuz30 vuz29)",fontsize=16,color="magenta"];282 -> 291[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 413[label="gcd0 vuz33 vuz32",fontsize=16,color="black",shape="triangle"];413 -> 430[label="",style="solid", color="black", weight=3]; 149.10/106.61 414 -> 431[label="",style="dashed", color="red", weight=0]; 149.10/106.61 414[label="gcd1 (vuz32 == fromInt (Pos Zero)) vuz33 vuz32",fontsize=16,color="magenta"];414 -> 432[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 424[label="primQuotInt (Pos vuz3100) (Pos vuz4500)",fontsize=16,color="burlywood",shape="box"];1179[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];424 -> 1179[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1179 -> 436[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1180[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];424 -> 1180[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1180 -> 437[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 425[label="primQuotInt (Pos vuz3100) (Neg vuz4500)",fontsize=16,color="burlywood",shape="box"];1181[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];425 -> 1181[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1181 -> 438[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1182[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];425 -> 1182[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1182 -> 439[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 426[label="primQuotInt (Neg vuz3100) (Pos vuz4500)",fontsize=16,color="burlywood",shape="box"];1183[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];426 -> 1183[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1183 -> 440[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1184[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];426 -> 1184[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1184 -> 441[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 427[label="primQuotInt (Neg vuz3100) (Neg vuz4500)",fontsize=16,color="burlywood",shape="box"];1185[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];427 -> 1185[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1185 -> 442[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1186[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];427 -> 1186[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1186 -> 443[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 428[label="gcd0 vuz30 vuz29",fontsize=16,color="black",shape="triangle"];428 -> 444[label="",style="solid", color="black", weight=3]; 149.10/106.61 429 -> 445[label="",style="dashed", color="red", weight=0]; 149.10/106.61 429[label="gcd1 (vuz29 == fromInt (Pos Zero)) vuz30 vuz29",fontsize=16,color="magenta"];429 -> 446[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 433[label="primDivNatS (Succ vuz2800) (Succ vuz4800)",fontsize=16,color="black",shape="box"];433 -> 447[label="",style="solid", color="black", weight=3]; 149.10/106.61 434[label="primDivNatS Zero (Succ vuz4800)",fontsize=16,color="black",shape="box"];434 -> 448[label="",style="solid", color="black", weight=3]; 149.10/106.61 435[label="vuz4800",fontsize=16,color="green",shape="box"];289[label="primQuotInt (Neg vuz280) (gcd0Gcd' (abs vuz30) (abs vuz29))",fontsize=16,color="black",shape="box"];289 -> 300[label="",style="solid", color="black", weight=3]; 149.10/106.61 291 -> 140[label="",style="dashed", color="red", weight=0]; 149.10/106.61 291[label="vuz29 == fromInt (Pos Zero)",fontsize=16,color="magenta"];291 -> 301[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 290[label="primQuotInt (Neg vuz280) (gcd1 vuz39 vuz30 vuz29)",fontsize=16,color="burlywood",shape="triangle"];1187[label="vuz39/False",fontsize=10,color="white",style="solid",shape="box"];290 -> 1187[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1187 -> 302[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1188[label="vuz39/True",fontsize=10,color="white",style="solid",shape="box"];290 -> 1188[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1188 -> 303[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 430[label="gcd0Gcd' (abs vuz33) (abs vuz32)",fontsize=16,color="black",shape="box"];430 -> 449[label="",style="solid", color="black", weight=3]; 149.10/106.61 432 -> 138[label="",style="dashed", color="red", weight=0]; 149.10/106.61 432[label="vuz32 == fromInt (Pos Zero)",fontsize=16,color="magenta"];432 -> 450[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 431[label="gcd1 vuz53 vuz33 vuz32",fontsize=16,color="burlywood",shape="triangle"];1189[label="vuz53/False",fontsize=10,color="white",style="solid",shape="box"];431 -> 1189[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1189 -> 451[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1190[label="vuz53/True",fontsize=10,color="white",style="solid",shape="box"];431 -> 1190[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1190 -> 452[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 436[label="primQuotInt (Pos vuz3100) (Pos (Succ vuz45000))",fontsize=16,color="black",shape="box"];436 -> 453[label="",style="solid", color="black", weight=3]; 149.10/106.61 437[label="primQuotInt (Pos vuz3100) (Pos Zero)",fontsize=16,color="black",shape="box"];437 -> 454[label="",style="solid", color="black", weight=3]; 149.10/106.61 438[label="primQuotInt (Pos vuz3100) (Neg (Succ vuz45000))",fontsize=16,color="black",shape="box"];438 -> 455[label="",style="solid", color="black", weight=3]; 149.10/106.61 439[label="primQuotInt (Pos vuz3100) (Neg Zero)",fontsize=16,color="black",shape="box"];439 -> 456[label="",style="solid", color="black", weight=3]; 149.10/106.61 440[label="primQuotInt (Neg vuz3100) (Pos (Succ vuz45000))",fontsize=16,color="black",shape="box"];440 -> 457[label="",style="solid", color="black", weight=3]; 149.10/106.61 441[label="primQuotInt (Neg vuz3100) (Pos Zero)",fontsize=16,color="black",shape="box"];441 -> 458[label="",style="solid", color="black", weight=3]; 149.10/106.61 442[label="primQuotInt (Neg vuz3100) (Neg (Succ vuz45000))",fontsize=16,color="black",shape="box"];442 -> 459[label="",style="solid", color="black", weight=3]; 149.10/106.61 443[label="primQuotInt (Neg vuz3100) (Neg Zero)",fontsize=16,color="black",shape="box"];443 -> 460[label="",style="solid", color="black", weight=3]; 149.10/106.61 444 -> 461[label="",style="dashed", color="red", weight=0]; 149.10/106.61 444[label="gcd0Gcd' (abs vuz30) (abs vuz29)",fontsize=16,color="magenta"];444 -> 462[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 444 -> 463[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 446 -> 140[label="",style="dashed", color="red", weight=0]; 149.10/106.61 446[label="vuz29 == fromInt (Pos Zero)",fontsize=16,color="magenta"];446 -> 464[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 445[label="gcd1 vuz54 vuz30 vuz29",fontsize=16,color="burlywood",shape="triangle"];1191[label="vuz54/False",fontsize=10,color="white",style="solid",shape="box"];445 -> 1191[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1191 -> 465[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1192[label="vuz54/True",fontsize=10,color="white",style="solid",shape="box"];445 -> 1192[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1192 -> 466[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 447[label="primDivNatS0 vuz2800 vuz4800 (primGEqNatS vuz2800 vuz4800)",fontsize=16,color="burlywood",shape="box"];1193[label="vuz2800/Succ vuz28000",fontsize=10,color="white",style="solid",shape="box"];447 -> 1193[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1193 -> 467[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1194[label="vuz2800/Zero",fontsize=10,color="white",style="solid",shape="box"];447 -> 1194[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1194 -> 468[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 448[label="Zero",fontsize=16,color="green",shape="box"];300[label="primQuotInt (Neg vuz280) (gcd0Gcd'2 (abs vuz30) (abs vuz29))",fontsize=16,color="black",shape="box"];300 -> 310[label="",style="solid", color="black", weight=3]; 149.10/106.61 301[label="vuz29",fontsize=16,color="green",shape="box"];302[label="primQuotInt (Neg vuz280) (gcd1 False vuz30 vuz29)",fontsize=16,color="black",shape="box"];302 -> 311[label="",style="solid", color="black", weight=3]; 149.10/106.61 303[label="primQuotInt (Neg vuz280) (gcd1 True vuz30 vuz29)",fontsize=16,color="black",shape="box"];303 -> 312[label="",style="solid", color="black", weight=3]; 149.10/106.61 449[label="gcd0Gcd'2 (abs vuz33) (abs vuz32)",fontsize=16,color="black",shape="box"];449 -> 469[label="",style="solid", color="black", weight=3]; 149.10/106.61 450[label="vuz32",fontsize=16,color="green",shape="box"];451[label="gcd1 False vuz33 vuz32",fontsize=16,color="black",shape="box"];451 -> 470[label="",style="solid", color="black", weight=3]; 149.10/106.61 452[label="gcd1 True vuz33 vuz32",fontsize=16,color="black",shape="box"];452 -> 471[label="",style="solid", color="black", weight=3]; 149.10/106.61 453[label="Pos (primDivNatS vuz3100 (Succ vuz45000))",fontsize=16,color="green",shape="box"];453 -> 472[label="",style="dashed", color="green", weight=3]; 149.10/106.61 454 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 454[label="error []",fontsize=16,color="magenta"];455[label="Neg (primDivNatS vuz3100 (Succ vuz45000))",fontsize=16,color="green",shape="box"];455 -> 473[label="",style="dashed", color="green", weight=3]; 149.10/106.61 456 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 456[label="error []",fontsize=16,color="magenta"];457[label="Neg (primDivNatS vuz3100 (Succ vuz45000))",fontsize=16,color="green",shape="box"];457 -> 474[label="",style="dashed", color="green", weight=3]; 149.10/106.61 458 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 458[label="error []",fontsize=16,color="magenta"];459[label="Pos (primDivNatS vuz3100 (Succ vuz45000))",fontsize=16,color="green",shape="box"];459 -> 475[label="",style="dashed", color="green", weight=3]; 149.10/106.61 460 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 460[label="error []",fontsize=16,color="magenta"];462 -> 325[label="",style="dashed", color="red", weight=0]; 149.10/106.61 462[label="abs vuz30",fontsize=16,color="magenta"];462 -> 476[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 463 -> 325[label="",style="dashed", color="red", weight=0]; 149.10/106.61 463[label="abs vuz29",fontsize=16,color="magenta"];461[label="gcd0Gcd' vuz56 vuz55",fontsize=16,color="black",shape="triangle"];461 -> 477[label="",style="solid", color="black", weight=3]; 149.10/106.61 464[label="vuz29",fontsize=16,color="green",shape="box"];465[label="gcd1 False vuz30 vuz29",fontsize=16,color="black",shape="box"];465 -> 481[label="",style="solid", color="black", weight=3]; 149.10/106.61 466[label="gcd1 True vuz30 vuz29",fontsize=16,color="black",shape="box"];466 -> 482[label="",style="solid", color="black", weight=3]; 149.10/106.61 467[label="primDivNatS0 (Succ vuz28000) vuz4800 (primGEqNatS (Succ vuz28000) vuz4800)",fontsize=16,color="burlywood",shape="box"];1195[label="vuz4800/Succ vuz48000",fontsize=10,color="white",style="solid",shape="box"];467 -> 1195[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1195 -> 483[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1196[label="vuz4800/Zero",fontsize=10,color="white",style="solid",shape="box"];467 -> 1196[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1196 -> 484[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 468[label="primDivNatS0 Zero vuz4800 (primGEqNatS Zero vuz4800)",fontsize=16,color="burlywood",shape="box"];1197[label="vuz4800/Succ vuz48000",fontsize=10,color="white",style="solid",shape="box"];468 -> 1197[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1197 -> 485[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1198[label="vuz4800/Zero",fontsize=10,color="white",style="solid",shape="box"];468 -> 1198[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1198 -> 486[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 310 -> 319[label="",style="dashed", color="red", weight=0]; 149.10/106.61 310[label="primQuotInt (Neg vuz280) (gcd0Gcd'1 (abs vuz29 == fromInt (Pos Zero)) (abs vuz30) (abs vuz29))",fontsize=16,color="magenta"];310 -> 320[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 311 -> 281[label="",style="dashed", color="red", weight=0]; 149.10/106.61 311[label="primQuotInt (Neg vuz280) (gcd0 vuz30 vuz29)",fontsize=16,color="magenta"];312[label="primQuotInt (Neg vuz280) (error [])",fontsize=16,color="black",shape="box"];312 -> 321[label="",style="solid", color="black", weight=3]; 149.10/106.61 469 -> 487[label="",style="dashed", color="red", weight=0]; 149.10/106.61 469[label="gcd0Gcd'1 (abs vuz32 == fromInt (Pos Zero)) (abs vuz33) (abs vuz32)",fontsize=16,color="magenta"];469 -> 488[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 470 -> 413[label="",style="dashed", color="red", weight=0]; 149.10/106.61 470[label="gcd0 vuz33 vuz32",fontsize=16,color="magenta"];471[label="error []",fontsize=16,color="black",shape="box"];471 -> 489[label="",style="solid", color="black", weight=3]; 149.10/106.61 472 -> 421[label="",style="dashed", color="red", weight=0]; 149.10/106.61 472[label="primDivNatS vuz3100 (Succ vuz45000)",fontsize=16,color="magenta"];472 -> 490[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 472 -> 491[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 473 -> 421[label="",style="dashed", color="red", weight=0]; 149.10/106.61 473[label="primDivNatS vuz3100 (Succ vuz45000)",fontsize=16,color="magenta"];473 -> 492[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 473 -> 493[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 474 -> 421[label="",style="dashed", color="red", weight=0]; 149.10/106.61 474[label="primDivNatS vuz3100 (Succ vuz45000)",fontsize=16,color="magenta"];474 -> 494[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 474 -> 495[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 475 -> 421[label="",style="dashed", color="red", weight=0]; 149.10/106.61 475[label="primDivNatS vuz3100 (Succ vuz45000)",fontsize=16,color="magenta"];475 -> 496[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 475 -> 497[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 476[label="vuz30",fontsize=16,color="green",shape="box"];325[label="abs vuz29",fontsize=16,color="black",shape="triangle"];325 -> 334[label="",style="solid", color="black", weight=3]; 149.10/106.61 477[label="gcd0Gcd'2 vuz56 vuz55",fontsize=16,color="black",shape="box"];477 -> 498[label="",style="solid", color="black", weight=3]; 149.10/106.61 481 -> 428[label="",style="dashed", color="red", weight=0]; 149.10/106.61 481[label="gcd0 vuz30 vuz29",fontsize=16,color="magenta"];482 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 482[label="error []",fontsize=16,color="magenta"];483[label="primDivNatS0 (Succ vuz28000) (Succ vuz48000) (primGEqNatS (Succ vuz28000) (Succ vuz48000))",fontsize=16,color="black",shape="box"];483 -> 499[label="",style="solid", color="black", weight=3]; 149.10/106.61 484[label="primDivNatS0 (Succ vuz28000) Zero (primGEqNatS (Succ vuz28000) Zero)",fontsize=16,color="black",shape="box"];484 -> 500[label="",style="solid", color="black", weight=3]; 149.10/106.61 485[label="primDivNatS0 Zero (Succ vuz48000) (primGEqNatS Zero (Succ vuz48000))",fontsize=16,color="black",shape="box"];485 -> 501[label="",style="solid", color="black", weight=3]; 149.10/106.61 486[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];486 -> 502[label="",style="solid", color="black", weight=3]; 149.10/106.61 320 -> 140[label="",style="dashed", color="red", weight=0]; 149.10/106.61 320[label="abs vuz29 == fromInt (Pos Zero)",fontsize=16,color="magenta"];320 -> 328[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 319[label="primQuotInt (Neg vuz280) (gcd0Gcd'1 vuz42 (abs vuz30) (abs vuz29))",fontsize=16,color="burlywood",shape="triangle"];1199[label="vuz42/False",fontsize=10,color="white",style="solid",shape="box"];319 -> 1199[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1199 -> 329[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1200[label="vuz42/True",fontsize=10,color="white",style="solid",shape="box"];319 -> 1200[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1200 -> 330[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 321[label="error []",fontsize=16,color="red",shape="box"];488 -> 138[label="",style="dashed", color="red", weight=0]; 149.10/106.61 488[label="abs vuz32 == fromInt (Pos Zero)",fontsize=16,color="magenta"];488 -> 503[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 487[label="gcd0Gcd'1 vuz57 (abs vuz33) (abs vuz32)",fontsize=16,color="burlywood",shape="triangle"];1201[label="vuz57/False",fontsize=10,color="white",style="solid",shape="box"];487 -> 1201[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1201 -> 504[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1202[label="vuz57/True",fontsize=10,color="white",style="solid",shape="box"];487 -> 1202[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1202 -> 505[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 489[label="error []",fontsize=16,color="red",shape="box"];490[label="vuz3100",fontsize=16,color="green",shape="box"];491[label="vuz45000",fontsize=16,color="green",shape="box"];492[label="vuz3100",fontsize=16,color="green",shape="box"];493[label="vuz45000",fontsize=16,color="green",shape="box"];494[label="vuz3100",fontsize=16,color="green",shape="box"];495[label="vuz45000",fontsize=16,color="green",shape="box"];496[label="vuz3100",fontsize=16,color="green",shape="box"];497[label="vuz45000",fontsize=16,color="green",shape="box"];334[label="absReal vuz29",fontsize=16,color="black",shape="box"];334 -> 362[label="",style="solid", color="black", weight=3]; 149.10/106.61 498 -> 509[label="",style="dashed", color="red", weight=0]; 149.10/106.61 498[label="gcd0Gcd'1 (vuz55 == fromInt (Pos Zero)) vuz56 vuz55",fontsize=16,color="magenta"];498 -> 510[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 499 -> 839[label="",style="dashed", color="red", weight=0]; 149.10/106.61 499[label="primDivNatS0 (Succ vuz28000) (Succ vuz48000) (primGEqNatS vuz28000 vuz48000)",fontsize=16,color="magenta"];499 -> 840[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 499 -> 841[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 499 -> 842[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 499 -> 843[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 500[label="primDivNatS0 (Succ vuz28000) Zero True",fontsize=16,color="black",shape="box"];500 -> 513[label="",style="solid", color="black", weight=3]; 149.10/106.61 501[label="primDivNatS0 Zero (Succ vuz48000) False",fontsize=16,color="black",shape="box"];501 -> 514[label="",style="solid", color="black", weight=3]; 149.10/106.61 502[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];502 -> 515[label="",style="solid", color="black", weight=3]; 149.10/106.61 328 -> 325[label="",style="dashed", color="red", weight=0]; 149.10/106.61 328[label="abs vuz29",fontsize=16,color="magenta"];329[label="primQuotInt (Neg vuz280) (gcd0Gcd'1 False (abs vuz30) (abs vuz29))",fontsize=16,color="black",shape="box"];329 -> 337[label="",style="solid", color="black", weight=3]; 149.10/106.61 330[label="primQuotInt (Neg vuz280) (gcd0Gcd'1 True (abs vuz30) (abs vuz29))",fontsize=16,color="black",shape="box"];330 -> 338[label="",style="solid", color="black", weight=3]; 149.10/106.61 503[label="abs vuz32",fontsize=16,color="black",shape="triangle"];503 -> 516[label="",style="solid", color="black", weight=3]; 149.10/106.61 504[label="gcd0Gcd'1 False (abs vuz33) (abs vuz32)",fontsize=16,color="black",shape="box"];504 -> 517[label="",style="solid", color="black", weight=3]; 149.10/106.61 505[label="gcd0Gcd'1 True (abs vuz33) (abs vuz32)",fontsize=16,color="black",shape="box"];505 -> 518[label="",style="solid", color="black", weight=3]; 149.10/106.61 362[label="absReal2 vuz29",fontsize=16,color="black",shape="box"];362 -> 420[label="",style="solid", color="black", weight=3]; 149.10/106.61 510 -> 140[label="",style="dashed", color="red", weight=0]; 149.10/106.61 510[label="vuz55 == fromInt (Pos Zero)",fontsize=16,color="magenta"];510 -> 519[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 509[label="gcd0Gcd'1 vuz58 vuz56 vuz55",fontsize=16,color="burlywood",shape="triangle"];1203[label="vuz58/False",fontsize=10,color="white",style="solid",shape="box"];509 -> 1203[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1203 -> 520[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1204[label="vuz58/True",fontsize=10,color="white",style="solid",shape="box"];509 -> 1204[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1204 -> 521[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 840[label="vuz28000",fontsize=16,color="green",shape="box"];841[label="vuz28000",fontsize=16,color="green",shape="box"];842[label="vuz48000",fontsize=16,color="green",shape="box"];843[label="vuz48000",fontsize=16,color="green",shape="box"];839[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS vuz80 vuz81)",fontsize=16,color="burlywood",shape="triangle"];1205[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];839 -> 1205[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1205 -> 872[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1206[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];839 -> 1206[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1206 -> 873[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 513[label="Succ (primDivNatS (primMinusNatS (Succ vuz28000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];513 -> 528[label="",style="dashed", color="green", weight=3]; 149.10/106.61 514[label="Zero",fontsize=16,color="green",shape="box"];515[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];515 -> 529[label="",style="dashed", color="green", weight=3]; 149.10/106.61 337 -> 399[label="",style="dashed", color="red", weight=0]; 149.10/106.61 337[label="primQuotInt (Neg vuz280) (gcd0Gcd'0 (abs vuz30) (abs vuz29))",fontsize=16,color="magenta"];337 -> 400[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 337 -> 401[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 338 -> 395[label="",style="dashed", color="red", weight=0]; 149.10/106.61 338[label="primQuotInt (Neg vuz280) (abs vuz30)",fontsize=16,color="magenta"];338 -> 415[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 338 -> 416[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 516[label="absReal vuz32",fontsize=16,color="black",shape="box"];516 -> 530[label="",style="solid", color="black", weight=3]; 149.10/106.61 517 -> 531[label="",style="dashed", color="red", weight=0]; 149.10/106.61 517[label="gcd0Gcd'0 (abs vuz33) (abs vuz32)",fontsize=16,color="magenta"];517 -> 532[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 517 -> 533[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 518 -> 503[label="",style="dashed", color="red", weight=0]; 149.10/106.61 518[label="abs vuz33",fontsize=16,color="magenta"];518 -> 534[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 420[label="absReal1 vuz29 (vuz29 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];420 -> 480[label="",style="solid", color="black", weight=3]; 149.10/106.61 519[label="vuz55",fontsize=16,color="green",shape="box"];520[label="gcd0Gcd'1 False vuz56 vuz55",fontsize=16,color="black",shape="box"];520 -> 535[label="",style="solid", color="black", weight=3]; 149.10/106.61 521[label="gcd0Gcd'1 True vuz56 vuz55",fontsize=16,color="black",shape="box"];521 -> 536[label="",style="solid", color="black", weight=3]; 149.10/106.61 872[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS (Succ vuz800) vuz81)",fontsize=16,color="burlywood",shape="box"];1207[label="vuz81/Succ vuz810",fontsize=10,color="white",style="solid",shape="box"];872 -> 1207[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1207 -> 882[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1208[label="vuz81/Zero",fontsize=10,color="white",style="solid",shape="box"];872 -> 1208[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1208 -> 883[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 873[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS Zero vuz81)",fontsize=16,color="burlywood",shape="box"];1209[label="vuz81/Succ vuz810",fontsize=10,color="white",style="solid",shape="box"];873 -> 1209[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1209 -> 884[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1210[label="vuz81/Zero",fontsize=10,color="white",style="solid",shape="box"];873 -> 1210[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1210 -> 885[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 528 -> 421[label="",style="dashed", color="red", weight=0]; 149.10/106.61 528[label="primDivNatS (primMinusNatS (Succ vuz28000) Zero) (Succ Zero)",fontsize=16,color="magenta"];528 -> 541[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 528 -> 542[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 529 -> 421[label="",style="dashed", color="red", weight=0]; 149.10/106.61 529[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];529 -> 543[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 529 -> 544[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 400 -> 325[label="",style="dashed", color="red", weight=0]; 149.10/106.61 400[label="abs vuz29",fontsize=16,color="magenta"];401 -> 325[label="",style="dashed", color="red", weight=0]; 149.10/106.61 401[label="abs vuz30",fontsize=16,color="magenta"];401 -> 417[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 399 -> 395[label="",style="dashed", color="red", weight=0]; 149.10/106.61 399[label="primQuotInt (Neg vuz280) (gcd0Gcd'0 vuz51 vuz50)",fontsize=16,color="magenta"];399 -> 418[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 399 -> 419[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 415 -> 325[label="",style="dashed", color="red", weight=0]; 149.10/106.61 415[label="abs vuz30",fontsize=16,color="magenta"];415 -> 478[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 416[label="Neg vuz280",fontsize=16,color="green",shape="box"];530[label="absReal2 vuz32",fontsize=16,color="black",shape="box"];530 -> 545[label="",style="solid", color="black", weight=3]; 149.10/106.61 532 -> 503[label="",style="dashed", color="red", weight=0]; 149.10/106.61 532[label="abs vuz33",fontsize=16,color="magenta"];532 -> 546[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 533 -> 503[label="",style="dashed", color="red", weight=0]; 149.10/106.61 533[label="abs vuz32",fontsize=16,color="magenta"];531[label="gcd0Gcd'0 vuz60 vuz59",fontsize=16,color="black",shape="triangle"];531 -> 547[label="",style="solid", color="black", weight=3]; 149.10/106.61 534[label="vuz33",fontsize=16,color="green",shape="box"];480[label="absReal1 vuz29 (compare vuz29 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];480 -> 506[label="",style="solid", color="black", weight=3]; 149.10/106.61 535 -> 418[label="",style="dashed", color="red", weight=0]; 149.10/106.61 535[label="gcd0Gcd'0 vuz56 vuz55",fontsize=16,color="magenta"];535 -> 552[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 535 -> 553[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 536[label="vuz56",fontsize=16,color="green",shape="box"];882[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS (Succ vuz800) (Succ vuz810))",fontsize=16,color="black",shape="box"];882 -> 892[label="",style="solid", color="black", weight=3]; 149.10/106.61 883[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS (Succ vuz800) Zero)",fontsize=16,color="black",shape="box"];883 -> 893[label="",style="solid", color="black", weight=3]; 149.10/106.61 884[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS Zero (Succ vuz810))",fontsize=16,color="black",shape="box"];884 -> 894[label="",style="solid", color="black", weight=3]; 149.10/106.61 885[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];885 -> 895[label="",style="solid", color="black", weight=3]; 149.10/106.61 541[label="primMinusNatS (Succ vuz28000) Zero",fontsize=16,color="black",shape="triangle"];541 -> 559[label="",style="solid", color="black", weight=3]; 149.10/106.61 542[label="Zero",fontsize=16,color="green",shape="box"];543[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];543 -> 560[label="",style="solid", color="black", weight=3]; 149.10/106.61 544[label="Zero",fontsize=16,color="green",shape="box"];417[label="vuz30",fontsize=16,color="green",shape="box"];418[label="gcd0Gcd'0 vuz51 vuz50",fontsize=16,color="black",shape="triangle"];418 -> 479[label="",style="solid", color="black", weight=3]; 149.10/106.61 419[label="Neg vuz280",fontsize=16,color="green",shape="box"];478[label="vuz30",fontsize=16,color="green",shape="box"];545[label="absReal1 vuz32 (vuz32 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];545 -> 561[label="",style="solid", color="black", weight=3]; 149.10/106.61 546[label="vuz33",fontsize=16,color="green",shape="box"];547[label="gcd0Gcd' vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="black",shape="box"];547 -> 562[label="",style="solid", color="black", weight=3]; 149.10/106.61 506[label="absReal1 vuz29 (not (compare vuz29 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];506 -> 522[label="",style="solid", color="black", weight=3]; 149.10/106.61 552[label="vuz55",fontsize=16,color="green",shape="box"];553[label="vuz56",fontsize=16,color="green",shape="box"];892 -> 839[label="",style="dashed", color="red", weight=0]; 149.10/106.61 892[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS vuz800 vuz810)",fontsize=16,color="magenta"];892 -> 902[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 892 -> 903[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 893[label="primDivNatS0 (Succ vuz78) (Succ vuz79) True",fontsize=16,color="black",shape="triangle"];893 -> 904[label="",style="solid", color="black", weight=3]; 149.10/106.61 894[label="primDivNatS0 (Succ vuz78) (Succ vuz79) False",fontsize=16,color="black",shape="box"];894 -> 905[label="",style="solid", color="black", weight=3]; 149.10/106.61 895 -> 893[label="",style="dashed", color="red", weight=0]; 149.10/106.61 895[label="primDivNatS0 (Succ vuz78) (Succ vuz79) True",fontsize=16,color="magenta"];559[label="Succ vuz28000",fontsize=16,color="green",shape="box"];560[label="Zero",fontsize=16,color="green",shape="box"];479 -> 461[label="",style="dashed", color="red", weight=0]; 149.10/106.61 479[label="gcd0Gcd' vuz50 (vuz51 `rem` vuz50)",fontsize=16,color="magenta"];479 -> 507[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 479 -> 508[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 561[label="absReal1 vuz32 (compare vuz32 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];561 -> 577[label="",style="solid", color="black", weight=3]; 149.10/106.61 562[label="gcd0Gcd'2 vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="black",shape="box"];562 -> 578[label="",style="solid", color="black", weight=3]; 149.10/106.61 522[label="absReal1 vuz29 (not (primCmpInt vuz29 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1211[label="vuz29/Pos vuz290",fontsize=10,color="white",style="solid",shape="box"];522 -> 1211[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1211 -> 548[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1212[label="vuz29/Neg vuz290",fontsize=10,color="white",style="solid",shape="box"];522 -> 1212[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1212 -> 549[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 902[label="vuz800",fontsize=16,color="green",shape="box"];903[label="vuz810",fontsize=16,color="green",shape="box"];904[label="Succ (primDivNatS (primMinusNatS (Succ vuz78) (Succ vuz79)) (Succ (Succ vuz79)))",fontsize=16,color="green",shape="box"];904 -> 914[label="",style="dashed", color="green", weight=3]; 149.10/106.61 905[label="Zero",fontsize=16,color="green",shape="box"];507[label="vuz50",fontsize=16,color="green",shape="box"];508[label="vuz51 `rem` vuz50",fontsize=16,color="black",shape="box"];508 -> 523[label="",style="solid", color="black", weight=3]; 149.10/106.61 577[label="absReal1 vuz32 (not (compare vuz32 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1213[label="vuz32/Integer vuz320",fontsize=10,color="white",style="solid",shape="box"];577 -> 1213[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1213 -> 599[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 578 -> 600[label="",style="dashed", color="red", weight=0]; 149.10/106.61 578[label="gcd0Gcd'1 (vuz60 `rem` vuz59 == fromInt (Pos Zero)) vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="magenta"];578 -> 601[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 548[label="absReal1 (Pos vuz290) (not (primCmpInt (Pos vuz290) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1214[label="vuz290/Succ vuz2900",fontsize=10,color="white",style="solid",shape="box"];548 -> 1214[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1214 -> 563[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1215[label="vuz290/Zero",fontsize=10,color="white",style="solid",shape="box"];548 -> 1215[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1215 -> 564[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 549[label="absReal1 (Neg vuz290) (not (primCmpInt (Neg vuz290) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1216[label="vuz290/Succ vuz2900",fontsize=10,color="white",style="solid",shape="box"];549 -> 1216[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1216 -> 565[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1217[label="vuz290/Zero",fontsize=10,color="white",style="solid",shape="box"];549 -> 1217[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1217 -> 566[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 914 -> 421[label="",style="dashed", color="red", weight=0]; 149.10/106.61 914[label="primDivNatS (primMinusNatS (Succ vuz78) (Succ vuz79)) (Succ (Succ vuz79))",fontsize=16,color="magenta"];914 -> 921[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 914 -> 922[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 523[label="primRemInt vuz51 vuz50",fontsize=16,color="burlywood",shape="triangle"];1218[label="vuz51/Pos vuz510",fontsize=10,color="white",style="solid",shape="box"];523 -> 1218[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1218 -> 550[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1219[label="vuz51/Neg vuz510",fontsize=10,color="white",style="solid",shape="box"];523 -> 1219[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1219 -> 551[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 599[label="absReal1 (Integer vuz320) (not (compare (Integer vuz320) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];599 -> 609[label="",style="solid", color="black", weight=3]; 149.10/106.61 601 -> 138[label="",style="dashed", color="red", weight=0]; 149.10/106.61 601[label="vuz60 `rem` vuz59 == fromInt (Pos Zero)",fontsize=16,color="magenta"];601 -> 610[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 600[label="gcd0Gcd'1 vuz61 vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="burlywood",shape="triangle"];1220[label="vuz61/False",fontsize=10,color="white",style="solid",shape="box"];600 -> 1220[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1220 -> 611[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1221[label="vuz61/True",fontsize=10,color="white",style="solid",shape="box"];600 -> 1221[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1221 -> 612[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 563[label="absReal1 (Pos (Succ vuz2900)) (not (primCmpInt (Pos (Succ vuz2900)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];563 -> 579[label="",style="solid", color="black", weight=3]; 149.10/106.61 564[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];564 -> 580[label="",style="solid", color="black", weight=3]; 149.10/106.61 565[label="absReal1 (Neg (Succ vuz2900)) (not (primCmpInt (Neg (Succ vuz2900)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];565 -> 581[label="",style="solid", color="black", weight=3]; 149.10/106.61 566[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];566 -> 582[label="",style="solid", color="black", weight=3]; 149.10/106.61 921[label="primMinusNatS (Succ vuz78) (Succ vuz79)",fontsize=16,color="black",shape="box"];921 -> 929[label="",style="solid", color="black", weight=3]; 149.10/106.61 922[label="Succ vuz79",fontsize=16,color="green",shape="box"];550[label="primRemInt (Pos vuz510) vuz50",fontsize=16,color="burlywood",shape="box"];1222[label="vuz50/Pos vuz500",fontsize=10,color="white",style="solid",shape="box"];550 -> 1222[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1222 -> 567[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1223[label="vuz50/Neg vuz500",fontsize=10,color="white",style="solid",shape="box"];550 -> 1223[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1223 -> 568[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 551[label="primRemInt (Neg vuz510) vuz50",fontsize=16,color="burlywood",shape="box"];1224[label="vuz50/Pos vuz500",fontsize=10,color="white",style="solid",shape="box"];551 -> 1224[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1224 -> 569[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1225[label="vuz50/Neg vuz500",fontsize=10,color="white",style="solid",shape="box"];551 -> 1225[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1225 -> 570[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 609[label="absReal1 (Integer vuz320) (not (compare (Integer vuz320) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];609 -> 632[label="",style="solid", color="black", weight=3]; 149.10/106.61 610[label="vuz60 `rem` vuz59",fontsize=16,color="burlywood",shape="triangle"];1226[label="vuz60/Integer vuz600",fontsize=10,color="white",style="solid",shape="box"];610 -> 1226[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1226 -> 633[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 611[label="gcd0Gcd'1 False vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="black",shape="box"];611 -> 634[label="",style="solid", color="black", weight=3]; 149.10/106.61 612[label="gcd0Gcd'1 True vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="black",shape="box"];612 -> 635[label="",style="solid", color="black", weight=3]; 149.10/106.61 579[label="absReal1 (Pos (Succ vuz2900)) (not (primCmpInt (Pos (Succ vuz2900)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];579 -> 613[label="",style="solid", color="black", weight=3]; 149.10/106.61 580[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];580 -> 614[label="",style="solid", color="black", weight=3]; 149.10/106.61 581[label="absReal1 (Neg (Succ vuz2900)) (not (primCmpInt (Neg (Succ vuz2900)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];581 -> 615[label="",style="solid", color="black", weight=3]; 149.10/106.61 582[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];582 -> 616[label="",style="solid", color="black", weight=3]; 149.10/106.61 929[label="primMinusNatS vuz78 vuz79",fontsize=16,color="burlywood",shape="triangle"];1227[label="vuz78/Succ vuz780",fontsize=10,color="white",style="solid",shape="box"];929 -> 1227[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1227 -> 938[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1228[label="vuz78/Zero",fontsize=10,color="white",style="solid",shape="box"];929 -> 1228[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1228 -> 939[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 567[label="primRemInt (Pos vuz510) (Pos vuz500)",fontsize=16,color="burlywood",shape="box"];1229[label="vuz500/Succ vuz5000",fontsize=10,color="white",style="solid",shape="box"];567 -> 1229[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1229 -> 583[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1230[label="vuz500/Zero",fontsize=10,color="white",style="solid",shape="box"];567 -> 1230[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1230 -> 584[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 568[label="primRemInt (Pos vuz510) (Neg vuz500)",fontsize=16,color="burlywood",shape="box"];1231[label="vuz500/Succ vuz5000",fontsize=10,color="white",style="solid",shape="box"];568 -> 1231[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1231 -> 585[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1232[label="vuz500/Zero",fontsize=10,color="white",style="solid",shape="box"];568 -> 1232[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1232 -> 586[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 569[label="primRemInt (Neg vuz510) (Pos vuz500)",fontsize=16,color="burlywood",shape="box"];1233[label="vuz500/Succ vuz5000",fontsize=10,color="white",style="solid",shape="box"];569 -> 1233[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1233 -> 587[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1234[label="vuz500/Zero",fontsize=10,color="white",style="solid",shape="box"];569 -> 1234[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1234 -> 588[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 570[label="primRemInt (Neg vuz510) (Neg vuz500)",fontsize=16,color="burlywood",shape="box"];1235[label="vuz500/Succ vuz5000",fontsize=10,color="white",style="solid",shape="box"];570 -> 1235[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1235 -> 589[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1236[label="vuz500/Zero",fontsize=10,color="white",style="solid",shape="box"];570 -> 1236[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1236 -> 590[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 632[label="absReal1 (Integer vuz320) (not (primCmpInt vuz320 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1237[label="vuz320/Pos vuz3200",fontsize=10,color="white",style="solid",shape="box"];632 -> 1237[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1237 -> 652[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1238[label="vuz320/Neg vuz3200",fontsize=10,color="white",style="solid",shape="box"];632 -> 1238[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1238 -> 653[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 633[label="Integer vuz600 `rem` vuz59",fontsize=16,color="burlywood",shape="box"];1239[label="vuz59/Integer vuz590",fontsize=10,color="white",style="solid",shape="box"];633 -> 1239[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1239 -> 654[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 634 -> 531[label="",style="dashed", color="red", weight=0]; 149.10/106.61 634[label="gcd0Gcd'0 vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="magenta"];634 -> 655[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 634 -> 656[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 635[label="vuz59",fontsize=16,color="green",shape="box"];613[label="absReal1 (Pos (Succ vuz2900)) (not (primCmpNat (Succ vuz2900) Zero == LT))",fontsize=16,color="black",shape="box"];613 -> 636[label="",style="solid", color="black", weight=3]; 149.10/106.61 614[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];614 -> 637[label="",style="solid", color="black", weight=3]; 149.10/106.61 615[label="absReal1 (Neg (Succ vuz2900)) (not (LT == LT))",fontsize=16,color="black",shape="box"];615 -> 638[label="",style="solid", color="black", weight=3]; 149.10/106.61 616[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];616 -> 639[label="",style="solid", color="black", weight=3]; 149.10/106.61 938[label="primMinusNatS (Succ vuz780) vuz79",fontsize=16,color="burlywood",shape="box"];1240[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];938 -> 1240[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1240 -> 948[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1241[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];938 -> 1241[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1241 -> 949[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 939[label="primMinusNatS Zero vuz79",fontsize=16,color="burlywood",shape="box"];1242[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];939 -> 1242[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1242 -> 950[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1243[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];939 -> 1243[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1243 -> 951[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 583[label="primRemInt (Pos vuz510) (Pos (Succ vuz5000))",fontsize=16,color="black",shape="box"];583 -> 617[label="",style="solid", color="black", weight=3]; 149.10/106.61 584[label="primRemInt (Pos vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];584 -> 618[label="",style="solid", color="black", weight=3]; 149.10/106.61 585[label="primRemInt (Pos vuz510) (Neg (Succ vuz5000))",fontsize=16,color="black",shape="box"];585 -> 619[label="",style="solid", color="black", weight=3]; 149.10/106.61 586[label="primRemInt (Pos vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];586 -> 620[label="",style="solid", color="black", weight=3]; 149.10/106.61 587[label="primRemInt (Neg vuz510) (Pos (Succ vuz5000))",fontsize=16,color="black",shape="box"];587 -> 621[label="",style="solid", color="black", weight=3]; 149.10/106.61 588[label="primRemInt (Neg vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];588 -> 622[label="",style="solid", color="black", weight=3]; 149.10/106.61 589[label="primRemInt (Neg vuz510) (Neg (Succ vuz5000))",fontsize=16,color="black",shape="box"];589 -> 623[label="",style="solid", color="black", weight=3]; 149.10/106.61 590[label="primRemInt (Neg vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];590 -> 624[label="",style="solid", color="black", weight=3]; 149.10/106.61 652[label="absReal1 (Integer (Pos vuz3200)) (not (primCmpInt (Pos vuz3200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1244[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];652 -> 1244[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1244 -> 674[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1245[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];652 -> 1245[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1245 -> 675[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 653[label="absReal1 (Integer (Neg vuz3200)) (not (primCmpInt (Neg vuz3200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1246[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];653 -> 1246[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1246 -> 676[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 1247[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];653 -> 1247[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1247 -> 677[label="",style="solid", color="burlywood", weight=3]; 149.10/106.61 654[label="Integer vuz600 `rem` Integer vuz590",fontsize=16,color="black",shape="box"];654 -> 678[label="",style="solid", color="black", weight=3]; 149.10/106.61 655[label="vuz59",fontsize=16,color="green",shape="box"];656 -> 610[label="",style="dashed", color="red", weight=0]; 149.10/106.61 656[label="vuz60 `rem` vuz59",fontsize=16,color="magenta"];636[label="absReal1 (Pos (Succ vuz2900)) (not (GT == LT))",fontsize=16,color="black",shape="box"];636 -> 657[label="",style="solid", color="black", weight=3]; 149.10/106.61 637[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];637 -> 658[label="",style="solid", color="black", weight=3]; 149.10/106.61 638[label="absReal1 (Neg (Succ vuz2900)) (not True)",fontsize=16,color="black",shape="box"];638 -> 659[label="",style="solid", color="black", weight=3]; 149.10/106.61 639[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];639 -> 660[label="",style="solid", color="black", weight=3]; 149.10/106.61 948[label="primMinusNatS (Succ vuz780) (Succ vuz790)",fontsize=16,color="black",shape="box"];948 -> 957[label="",style="solid", color="black", weight=3]; 149.10/106.61 949[label="primMinusNatS (Succ vuz780) Zero",fontsize=16,color="black",shape="box"];949 -> 958[label="",style="solid", color="black", weight=3]; 149.10/106.61 950[label="primMinusNatS Zero (Succ vuz790)",fontsize=16,color="black",shape="box"];950 -> 959[label="",style="solid", color="black", weight=3]; 149.10/106.61 951[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];951 -> 960[label="",style="solid", color="black", weight=3]; 149.10/106.61 617[label="Pos (primModNatS vuz510 (Succ vuz5000))",fontsize=16,color="green",shape="box"];617 -> 640[label="",style="dashed", color="green", weight=3]; 149.10/106.61 618 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 618[label="error []",fontsize=16,color="magenta"];619[label="Pos (primModNatS vuz510 (Succ vuz5000))",fontsize=16,color="green",shape="box"];619 -> 641[label="",style="dashed", color="green", weight=3]; 149.10/106.61 620 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 620[label="error []",fontsize=16,color="magenta"];621[label="Neg (primModNatS vuz510 (Succ vuz5000))",fontsize=16,color="green",shape="box"];621 -> 642[label="",style="dashed", color="green", weight=3]; 149.10/106.61 622 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 622[label="error []",fontsize=16,color="magenta"];623[label="Neg (primModNatS vuz510 (Succ vuz5000))",fontsize=16,color="green",shape="box"];623 -> 643[label="",style="dashed", color="green", weight=3]; 149.10/106.61 624 -> 405[label="",style="dashed", color="red", weight=0]; 149.10/106.61 624[label="error []",fontsize=16,color="magenta"];674[label="absReal1 (Integer (Pos (Succ vuz32000))) (not (primCmpInt (Pos (Succ vuz32000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];674 -> 692[label="",style="solid", color="black", weight=3]; 149.10/106.61 675[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];675 -> 693[label="",style="solid", color="black", weight=3]; 149.10/106.61 676[label="absReal1 (Integer (Neg (Succ vuz32000))) (not (primCmpInt (Neg (Succ vuz32000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];676 -> 694[label="",style="solid", color="black", weight=3]; 149.10/106.61 677[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];677 -> 695[label="",style="solid", color="black", weight=3]; 149.10/106.61 678[label="Integer (primRemInt vuz600 vuz590)",fontsize=16,color="green",shape="box"];678 -> 696[label="",style="dashed", color="green", weight=3]; 149.10/106.61 657[label="absReal1 (Pos (Succ vuz2900)) (not False)",fontsize=16,color="black",shape="box"];657 -> 679[label="",style="solid", color="black", weight=3]; 149.10/106.61 658[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];658 -> 680[label="",style="solid", color="black", weight=3]; 149.10/106.61 659[label="absReal1 (Neg (Succ vuz2900)) False",fontsize=16,color="black",shape="box"];659 -> 681[label="",style="solid", color="black", weight=3]; 149.10/106.61 660[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];660 -> 682[label="",style="solid", color="black", weight=3]; 149.10/106.61 957 -> 929[label="",style="dashed", color="red", weight=0]; 149.10/106.61 957[label="primMinusNatS vuz780 vuz790",fontsize=16,color="magenta"];957 -> 969[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 957 -> 970[label="",style="dashed", color="magenta", weight=3]; 149.10/106.61 958[label="Succ vuz780",fontsize=16,color="green",shape="box"];959[label="Zero",fontsize=16,color="green",shape="box"];960[label="Zero",fontsize=16,color="green",shape="box"];640[label="primModNatS vuz510 (Succ vuz5000)",fontsize=16,color="burlywood",shape="triangle"];1248[label="vuz510/Succ vuz5100",fontsize=10,color="white",style="solid",shape="box"];640 -> 1248[label="",style="solid", color="burlywood", weight=9]; 149.10/106.61 1248 -> 661[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 1249[label="vuz510/Zero",fontsize=10,color="white",style="solid",shape="box"];640 -> 1249[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1249 -> 662[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 641 -> 640[label="",style="dashed", color="red", weight=0]; 149.10/106.62 641[label="primModNatS vuz510 (Succ vuz5000)",fontsize=16,color="magenta"];641 -> 663[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 642 -> 640[label="",style="dashed", color="red", weight=0]; 149.10/106.62 642[label="primModNatS vuz510 (Succ vuz5000)",fontsize=16,color="magenta"];642 -> 664[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 643 -> 640[label="",style="dashed", color="red", weight=0]; 149.10/106.62 643[label="primModNatS vuz510 (Succ vuz5000)",fontsize=16,color="magenta"];643 -> 665[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 643 -> 666[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 692[label="absReal1 (Integer (Pos (Succ vuz32000))) (not (primCmpNat (Succ vuz32000) Zero == LT))",fontsize=16,color="black",shape="box"];692 -> 709[label="",style="solid", color="black", weight=3]; 149.10/106.62 693[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];693 -> 710[label="",style="solid", color="black", weight=3]; 149.10/106.62 694[label="absReal1 (Integer (Neg (Succ vuz32000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];694 -> 711[label="",style="solid", color="black", weight=3]; 149.10/106.62 695[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];695 -> 712[label="",style="solid", color="black", weight=3]; 149.10/106.62 696 -> 523[label="",style="dashed", color="red", weight=0]; 149.10/106.62 696[label="primRemInt vuz600 vuz590",fontsize=16,color="magenta"];696 -> 713[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 696 -> 714[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 679[label="absReal1 (Pos (Succ vuz2900)) True",fontsize=16,color="black",shape="box"];679 -> 697[label="",style="solid", color="black", weight=3]; 149.10/106.62 680[label="Pos Zero",fontsize=16,color="green",shape="box"];681[label="absReal0 (Neg (Succ vuz2900)) otherwise",fontsize=16,color="black",shape="box"];681 -> 698[label="",style="solid", color="black", weight=3]; 149.10/106.62 682[label="Neg Zero",fontsize=16,color="green",shape="box"];969[label="vuz780",fontsize=16,color="green",shape="box"];970[label="vuz790",fontsize=16,color="green",shape="box"];661[label="primModNatS (Succ vuz5100) (Succ vuz5000)",fontsize=16,color="black",shape="box"];661 -> 683[label="",style="solid", color="black", weight=3]; 149.10/106.62 662[label="primModNatS Zero (Succ vuz5000)",fontsize=16,color="black",shape="box"];662 -> 684[label="",style="solid", color="black", weight=3]; 149.10/106.62 663[label="vuz5000",fontsize=16,color="green",shape="box"];664[label="vuz510",fontsize=16,color="green",shape="box"];665[label="vuz5000",fontsize=16,color="green",shape="box"];666[label="vuz510",fontsize=16,color="green",shape="box"];709[label="absReal1 (Integer (Pos (Succ vuz32000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];709 -> 727[label="",style="solid", color="black", weight=3]; 149.10/106.62 710[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];710 -> 728[label="",style="solid", color="black", weight=3]; 149.10/106.62 711[label="absReal1 (Integer (Neg (Succ vuz32000))) (not True)",fontsize=16,color="black",shape="box"];711 -> 729[label="",style="solid", color="black", weight=3]; 149.10/106.62 712[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];712 -> 730[label="",style="solid", color="black", weight=3]; 149.10/106.62 713[label="vuz590",fontsize=16,color="green",shape="box"];714[label="vuz600",fontsize=16,color="green",shape="box"];697[label="Pos (Succ vuz2900)",fontsize=16,color="green",shape="box"];698[label="absReal0 (Neg (Succ vuz2900)) True",fontsize=16,color="black",shape="box"];698 -> 715[label="",style="solid", color="black", weight=3]; 149.10/106.62 683[label="primModNatS0 vuz5100 vuz5000 (primGEqNatS vuz5100 vuz5000)",fontsize=16,color="burlywood",shape="box"];1250[label="vuz5100/Succ vuz51000",fontsize=10,color="white",style="solid",shape="box"];683 -> 1250[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1250 -> 699[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 1251[label="vuz5100/Zero",fontsize=10,color="white",style="solid",shape="box"];683 -> 1251[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1251 -> 700[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 684[label="Zero",fontsize=16,color="green",shape="box"];727[label="absReal1 (Integer (Pos (Succ vuz32000))) (not False)",fontsize=16,color="black",shape="box"];727 -> 743[label="",style="solid", color="black", weight=3]; 149.10/106.62 728[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];728 -> 744[label="",style="solid", color="black", weight=3]; 149.10/106.62 729[label="absReal1 (Integer (Neg (Succ vuz32000))) False",fontsize=16,color="black",shape="box"];729 -> 745[label="",style="solid", color="black", weight=3]; 149.10/106.62 730[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];730 -> 746[label="",style="solid", color="black", weight=3]; 149.10/106.62 715[label="`negate` Neg (Succ vuz2900)",fontsize=16,color="black",shape="box"];715 -> 731[label="",style="solid", color="black", weight=3]; 149.10/106.62 699[label="primModNatS0 (Succ vuz51000) vuz5000 (primGEqNatS (Succ vuz51000) vuz5000)",fontsize=16,color="burlywood",shape="box"];1252[label="vuz5000/Succ vuz50000",fontsize=10,color="white",style="solid",shape="box"];699 -> 1252[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1252 -> 716[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 1253[label="vuz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];699 -> 1253[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1253 -> 717[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 700[label="primModNatS0 Zero vuz5000 (primGEqNatS Zero vuz5000)",fontsize=16,color="burlywood",shape="box"];1254[label="vuz5000/Succ vuz50000",fontsize=10,color="white",style="solid",shape="box"];700 -> 1254[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1254 -> 718[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 1255[label="vuz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];700 -> 1255[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1255 -> 719[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 743[label="absReal1 (Integer (Pos (Succ vuz32000))) True",fontsize=16,color="black",shape="box"];743 -> 761[label="",style="solid", color="black", weight=3]; 149.10/106.62 744[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];745[label="absReal0 (Integer (Neg (Succ vuz32000))) otherwise",fontsize=16,color="black",shape="box"];745 -> 762[label="",style="solid", color="black", weight=3]; 149.10/106.62 746[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];731[label="primNegInt (Neg (Succ vuz2900))",fontsize=16,color="black",shape="triangle"];731 -> 747[label="",style="solid", color="black", weight=3]; 149.10/106.62 716[label="primModNatS0 (Succ vuz51000) (Succ vuz50000) (primGEqNatS (Succ vuz51000) (Succ vuz50000))",fontsize=16,color="black",shape="box"];716 -> 732[label="",style="solid", color="black", weight=3]; 149.10/106.62 717[label="primModNatS0 (Succ vuz51000) Zero (primGEqNatS (Succ vuz51000) Zero)",fontsize=16,color="black",shape="box"];717 -> 733[label="",style="solid", color="black", weight=3]; 149.10/106.62 718[label="primModNatS0 Zero (Succ vuz50000) (primGEqNatS Zero (Succ vuz50000))",fontsize=16,color="black",shape="box"];718 -> 734[label="",style="solid", color="black", weight=3]; 149.10/106.62 719[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];719 -> 735[label="",style="solid", color="black", weight=3]; 149.10/106.62 761[label="Integer (Pos (Succ vuz32000))",fontsize=16,color="green",shape="box"];762[label="absReal0 (Integer (Neg (Succ vuz32000))) True",fontsize=16,color="black",shape="box"];762 -> 785[label="",style="solid", color="black", weight=3]; 149.10/106.62 747[label="Pos (Succ vuz2900)",fontsize=16,color="green",shape="box"];732 -> 1032[label="",style="dashed", color="red", weight=0]; 149.10/106.62 732[label="primModNatS0 (Succ vuz51000) (Succ vuz50000) (primGEqNatS vuz51000 vuz50000)",fontsize=16,color="magenta"];732 -> 1033[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 732 -> 1034[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 732 -> 1035[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 732 -> 1036[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 733[label="primModNatS0 (Succ vuz51000) Zero True",fontsize=16,color="black",shape="box"];733 -> 750[label="",style="solid", color="black", weight=3]; 149.10/106.62 734[label="primModNatS0 Zero (Succ vuz50000) False",fontsize=16,color="black",shape="box"];734 -> 751[label="",style="solid", color="black", weight=3]; 149.10/106.62 735[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];735 -> 752[label="",style="solid", color="black", weight=3]; 149.10/106.62 785[label="`negate` Integer (Neg (Succ vuz32000))",fontsize=16,color="black",shape="box"];785 -> 815[label="",style="solid", color="black", weight=3]; 149.10/106.62 1033[label="vuz50000",fontsize=16,color="green",shape="box"];1034[label="vuz50000",fontsize=16,color="green",shape="box"];1035[label="vuz51000",fontsize=16,color="green",shape="box"];1036[label="vuz51000",fontsize=16,color="green",shape="box"];1032[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS vuz100 vuz101)",fontsize=16,color="burlywood",shape="triangle"];1256[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];1032 -> 1256[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1256 -> 1065[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 1257[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];1032 -> 1257[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1257 -> 1066[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 750 -> 640[label="",style="dashed", color="red", weight=0]; 149.10/106.62 750[label="primModNatS (primMinusNatS (Succ vuz51000) Zero) (Succ Zero)",fontsize=16,color="magenta"];750 -> 767[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 750 -> 768[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 751[label="Succ Zero",fontsize=16,color="green",shape="box"];752 -> 640[label="",style="dashed", color="red", weight=0]; 149.10/106.62 752[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];752 -> 769[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 752 -> 770[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 815[label="Integer (primNegInt (Neg (Succ vuz32000)))",fontsize=16,color="green",shape="box"];815 -> 826[label="",style="dashed", color="green", weight=3]; 149.10/106.62 1065[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS (Succ vuz1000) vuz101)",fontsize=16,color="burlywood",shape="box"];1258[label="vuz101/Succ vuz1010",fontsize=10,color="white",style="solid",shape="box"];1065 -> 1258[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1258 -> 1067[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 1259[label="vuz101/Zero",fontsize=10,color="white",style="solid",shape="box"];1065 -> 1259[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1259 -> 1068[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 1066[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS Zero vuz101)",fontsize=16,color="burlywood",shape="box"];1260[label="vuz101/Succ vuz1010",fontsize=10,color="white",style="solid",shape="box"];1066 -> 1260[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1260 -> 1069[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 1261[label="vuz101/Zero",fontsize=10,color="white",style="solid",shape="box"];1066 -> 1261[label="",style="solid", color="burlywood", weight=9]; 149.10/106.62 1261 -> 1070[label="",style="solid", color="burlywood", weight=3]; 149.10/106.62 767[label="Zero",fontsize=16,color="green",shape="box"];768 -> 541[label="",style="dashed", color="red", weight=0]; 149.10/106.62 768[label="primMinusNatS (Succ vuz51000) Zero",fontsize=16,color="magenta"];768 -> 824[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 769[label="Zero",fontsize=16,color="green",shape="box"];770 -> 543[label="",style="dashed", color="red", weight=0]; 149.10/106.62 770[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];826 -> 731[label="",style="dashed", color="red", weight=0]; 149.10/106.62 826[label="primNegInt (Neg (Succ vuz32000))",fontsize=16,color="magenta"];826 -> 838[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 1067[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS (Succ vuz1000) (Succ vuz1010))",fontsize=16,color="black",shape="box"];1067 -> 1071[label="",style="solid", color="black", weight=3]; 149.10/106.62 1068[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS (Succ vuz1000) Zero)",fontsize=16,color="black",shape="box"];1068 -> 1072[label="",style="solid", color="black", weight=3]; 149.10/106.62 1069[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS Zero (Succ vuz1010))",fontsize=16,color="black",shape="box"];1069 -> 1073[label="",style="solid", color="black", weight=3]; 149.10/106.62 1070[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1070 -> 1074[label="",style="solid", color="black", weight=3]; 149.10/106.62 824[label="vuz51000",fontsize=16,color="green",shape="box"];838[label="vuz32000",fontsize=16,color="green",shape="box"];1071 -> 1032[label="",style="dashed", color="red", weight=0]; 149.10/106.62 1071[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS vuz1000 vuz1010)",fontsize=16,color="magenta"];1071 -> 1075[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 1071 -> 1076[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 1072[label="primModNatS0 (Succ vuz98) (Succ vuz99) True",fontsize=16,color="black",shape="triangle"];1072 -> 1077[label="",style="solid", color="black", weight=3]; 149.10/106.62 1073[label="primModNatS0 (Succ vuz98) (Succ vuz99) False",fontsize=16,color="black",shape="box"];1073 -> 1078[label="",style="solid", color="black", weight=3]; 149.10/106.62 1074 -> 1072[label="",style="dashed", color="red", weight=0]; 149.10/106.62 1074[label="primModNatS0 (Succ vuz98) (Succ vuz99) True",fontsize=16,color="magenta"];1075[label="vuz1010",fontsize=16,color="green",shape="box"];1076[label="vuz1000",fontsize=16,color="green",shape="box"];1077 -> 640[label="",style="dashed", color="red", weight=0]; 149.10/106.62 1077[label="primModNatS (primMinusNatS (Succ vuz98) (Succ vuz99)) (Succ (Succ vuz99))",fontsize=16,color="magenta"];1077 -> 1079[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 1077 -> 1080[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 1078[label="Succ (Succ vuz98)",fontsize=16,color="green",shape="box"];1079[label="Succ vuz99",fontsize=16,color="green",shape="box"];1080 -> 929[label="",style="dashed", color="red", weight=0]; 149.10/106.62 1080[label="primMinusNatS (Succ vuz98) (Succ vuz99)",fontsize=16,color="magenta"];1080 -> 1081[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 1080 -> 1082[label="",style="dashed", color="magenta", weight=3]; 149.10/106.62 1081[label="Succ vuz98",fontsize=16,color="green",shape="box"];1082[label="Succ vuz99",fontsize=16,color="green",shape="box"];} 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (12) 149.10/106.62 Complex Obligation (AND) 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (13) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primModNatS(Succ(Succ(vuz51000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS0(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS0(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primModNatS0(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS0(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primModNatS0(vuz98, vuz99, Zero, Zero) -> new_primModNatS00(vuz98, vuz99) 149.10/106.62 new_primModNatS00(vuz98, vuz99) -> new_primModNatS(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (14) DependencyGraphProof (EQUIVALENT) 149.10/106.62 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (15) 149.10/106.62 Complex Obligation (AND) 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (16) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primModNatS0(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primModNatS(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS0(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS0(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS0(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primModNatS0(vuz98, vuz99, Zero, Zero) -> new_primModNatS00(vuz98, vuz99) 149.10/106.62 new_primModNatS00(vuz98, vuz99) -> new_primModNatS(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (17) QDPOrderProof (EQUIVALENT) 149.10/106.62 We use the reduction pair processor [LPAR04,JAR06]. 149.10/106.62 149.10/106.62 149.10/106.62 The following pairs can be oriented strictly and are deleted. 149.10/106.62 149.10/106.62 new_primModNatS(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS0(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 The remaining pairs can at least be oriented weakly. 149.10/106.62 Used ordering: Polynomial interpretation [POLO]: 149.10/106.62 149.10/106.62 POL(Succ(x_1)) = 1 + x_1 149.10/106.62 POL(Zero) = 1 149.10/106.62 POL(new_primMinusNatS2(x_1, x_2)) = x_1 149.10/106.62 POL(new_primModNatS(x_1, x_2)) = x_1 149.10/106.62 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 149.10/106.62 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 149.10/106.62 149.10/106.62 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (18) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primModNatS0(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primModNatS0(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS0(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primModNatS0(vuz98, vuz99, Zero, Zero) -> new_primModNatS00(vuz98, vuz99) 149.10/106.62 new_primModNatS00(vuz98, vuz99) -> new_primModNatS(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (19) DependencyGraphProof (EQUIVALENT) 149.10/106.62 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (20) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primModNatS0(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS0(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (21) QDPSizeChangeProof (EQUIVALENT) 149.10/106.62 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. 149.10/106.62 149.10/106.62 From the DPs we obtained the following set of size-change graphs: 149.10/106.62 *new_primModNatS0(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS0(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (22) 149.10/106.62 YES 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (23) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primModNatS(Succ(Succ(vuz51000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (24) MRRProof (EQUIVALENT) 149.10/106.62 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. 149.10/106.62 149.10/106.62 Strictly oriented dependency pairs: 149.10/106.62 149.10/106.62 new_primModNatS(Succ(Succ(vuz51000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 149.10/106.62 Strictly oriented rules of the TRS R: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 149.10/106.62 Used ordering: Polynomial interpretation [POLO]: 149.10/106.62 149.10/106.62 POL(Succ(x_1)) = 1 + x_1 149.10/106.62 POL(Zero) = 2 149.10/106.62 POL(new_primMinusNatS0(x_1)) = 1 + x_1 149.10/106.62 POL(new_primMinusNatS1) = 2 149.10/106.62 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 149.10/106.62 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (25) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 P is empty. 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (26) PisEmptyProof (EQUIVALENT) 149.10/106.62 The TRS P is empty. Hence, there is no (P,Q,R) chain. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (27) 149.10/106.62 YES 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (28) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_enforceWHNF(vuz7, :(vuz80, vuz81), h) -> new_enforceWHNF(new_sr(vuz7, vuz80, h), vuz81, h) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primQuotInt4(vuz280, Pos(Succ(vuz4800))) -> Pos(new_primDivNatS1(vuz280, vuz4800)) 149.10/106.62 new_primQuotInt3(Pos(vuz3100), Pos(Succ(vuz45000))) -> Pos(new_primDivNatS1(vuz3100, vuz45000)) 149.10/106.62 new_sr0(Float(vuz120, vuz121), Float(vuz300, vuz301)) -> Float(new_sr1(vuz120, vuz300), new_sr1(vuz121, vuz301)) 149.10/106.62 new_primMulInt(Pos(vuz130), Neg(vuz300)) -> Neg(new_primMulNat0(vuz130, vuz300)) 149.10/106.62 new_primMulInt(Neg(vuz130), Pos(vuz300)) -> Neg(new_primMulNat0(vuz130, vuz300)) 149.10/106.62 new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 149.10/106.62 new_primQuotInt4(vuz280, Pos(Zero)) -> new_error 149.10/106.62 new_primDivNatS1(Zero, vuz4800) -> Zero 149.10/106.62 new_gcd0Gcd'02(vuz60, vuz59) -> new_gcd0Gcd'13(new_esEs(new_rem(vuz60, vuz59)), vuz59, vuz60) 149.10/106.62 new_primQuotInt3(Pos(vuz3100), Pos(Zero)) -> new_error 149.10/106.62 new_sr4(Double(vuz110, vuz111), Double(vuz300, vuz301)) -> Double(new_sr1(vuz110, vuz300), new_sr1(vuz111, vuz301)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primQuotInt1(vuz280, False, vuz30, vuz29) -> new_primQuotInt0(vuz280, vuz30, vuz29) 149.10/106.62 new_primDivNatS01(vuz78, vuz79, Succ(vuz800), Zero) -> new_primDivNatS02(vuz78, vuz79) 149.10/106.62 new_abs0(Neg(Zero)) -> Neg(Zero) 149.10/106.62 new_primDivNatS1(Succ(Succ(vuz28000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz28000), Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_gcd0Gcd'13(True, vuz59, vuz60) -> vuz59 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_abs(Integer(Pos(Succ(vuz32000)))) -> Integer(Pos(Succ(vuz32000))) 149.10/106.62 new_gcd0Gcd'12(False, vuz56, vuz55) -> new_gcd0Gcd'01(vuz56, vuz55) 149.10/106.62 new_gcd2(False, vuz30, vuz29) -> new_gcd00(vuz30, vuz29) 149.10/106.62 new_gcd2(True, vuz30, vuz29) -> new_gcd10(new_esEs0(vuz29), vuz30, vuz29) 149.10/106.62 new_primQuotInt(vuz280, False, vuz30, vuz29) -> new_primQuotInt0(vuz280, vuz30, vuz29) 149.10/106.62 new_esEs(Integer(vuz250)) -> new_primEqInt(vuz250) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_gcd20(False, vuz33, vuz32) -> new_gcd0(vuz33, vuz32) 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) 149.10/106.62 new_primDivNatS01(vuz78, vuz79, Zero, Succ(vuz810)) -> Zero 149.10/106.62 new_primQuotInt3(Pos(vuz3100), Neg(Zero)) -> new_error 149.10/106.62 new_primQuotInt3(Neg(vuz3100), Pos(Zero)) -> new_error 149.10/106.62 new_quot(Pos(vuz280), vuz30, vuz29) -> new_primQuotInt4(vuz280, new_gcd2(new_esEs0(vuz30), vuz30, vuz29)) 149.10/106.62 new_primDivNatS02(vuz78, vuz79) -> Succ(new_primDivNatS1(new_primMinusNatS2(vuz78, vuz79), Succ(vuz79))) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_esEs0(Neg(Succ(vuz2600))) -> new_primEqInt(Neg(Succ(vuz2600))) 149.10/106.62 new_gcd1(False, vuz33, vuz32) -> new_gcd0(vuz33, vuz32) 149.10/106.62 new_primQuotInt2(vuz280, vuz51, vuz50) -> new_primQuotInt3(Neg(vuz280), new_gcd0Gcd'01(vuz51, vuz50)) 149.10/106.62 new_primQuotInt3(Pos(vuz3100), Neg(Succ(vuz45000))) -> Neg(new_primDivNatS1(vuz3100, vuz45000)) 149.10/106.62 new_primQuotInt3(Neg(vuz3100), Pos(Succ(vuz45000))) -> Neg(new_primDivNatS1(vuz3100, vuz45000)) 149.10/106.62 new_sr(vuz7, vuz80, ty_Double) -> new_sr4(vuz7, vuz80) 149.10/106.62 new_primDivNatS1(Succ(Zero), Succ(vuz48000)) -> Zero 149.10/106.62 new_primQuotInt5(vuz280, True, vuz30, vuz29) -> new_primQuotInt3(Neg(vuz280), new_abs0(vuz30)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primPlusNat0(Succ(vuz270), vuz3000) -> Succ(Succ(new_primPlusNat1(vuz270, vuz3000))) 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primMulInt(Pos(vuz130), Pos(vuz300)) -> Pos(new_primMulNat0(vuz130, vuz300)) 149.10/106.62 new_esEs1(vuz91, vuz301, ty_Int) -> new_esEs0(new_sr1(vuz91, vuz301)) 149.10/106.62 new_primQuotInt4(vuz280, Neg(Succ(vuz4800))) -> Neg(new_primDivNatS1(vuz280, vuz4800)) 149.10/106.62 new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 149.10/106.62 new_primQuotInt5(vuz280, False, vuz30, vuz29) -> new_primQuotInt2(vuz280, new_abs0(vuz30), new_abs0(vuz29)) 149.10/106.62 new_gcd0Gcd'11(True, vuz33, vuz32) -> new_abs(vuz33) 149.10/106.62 new_gcd10(False, vuz30, vuz29) -> new_gcd00(vuz30, vuz29) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_abs0(Pos(Succ(vuz2900))) -> Pos(Succ(vuz2900)) 149.10/106.62 new_primPlusNat1(Zero, Zero) -> Zero 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primMulNat0(Succ(vuz1300), Zero) -> Zero 149.10/106.62 new_primMulNat0(Zero, Succ(vuz3000)) -> Zero 149.10/106.62 new_sr(vuz7, vuz80, ty_Integer) -> new_sr3(vuz7, vuz80) 149.10/106.62 new_primPlusNat0(Zero, vuz3000) -> Succ(vuz3000) 149.10/106.62 new_esEs0(Pos(Succ(vuz2600))) -> new_primEqInt(Pos(Succ(vuz2600))) 149.10/106.62 new_quot(Neg(vuz280), vuz30, vuz29) -> new_primQuotInt1(vuz280, new_esEs0(vuz30), vuz30, vuz29) 149.10/106.62 new_primQuotInt1(vuz280, True, vuz30, vuz29) -> new_primQuotInt(vuz280, new_esEs0(vuz29), vuz30, vuz29) 149.10/106.62 new_gcd0Gcd'12(True, vuz56, vuz55) -> vuz56 149.10/106.62 new_primDivNatS01(vuz78, vuz79, Succ(vuz800), Succ(vuz810)) -> new_primDivNatS01(vuz78, vuz79, vuz800, vuz810) 149.10/106.62 new_quot3(vuz22, vuz23, vuz20, vuz21, ty_Int) -> new_quot(new_sr1(vuz22, vuz23), new_sr1(vuz20, vuz21), new_sr1(vuz22, vuz23)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_gcd10(True, vuz30, vuz29) -> new_error 149.10/106.62 new_primMulNat0(Zero, Zero) -> Zero 149.10/106.62 new_gcd0(vuz33, vuz32) -> new_gcd0Gcd'11(new_esEs(new_abs(vuz32)), vuz33, vuz32) 149.10/106.62 new_quot0(Integer(vuz310), vuz33, vuz32) -> new_quot1(vuz310, new_gcd20(new_esEs(vuz33), vuz33, vuz32)) 149.10/106.62 new_primQuotInt3(Neg(vuz3100), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primMulNat0(Succ(vuz1300), Succ(vuz3000)) -> new_primPlusNat0(new_primMulNat0(vuz1300, Succ(vuz3000)), vuz3000) 149.10/106.62 new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) 149.10/106.62 new_quot3(vuz22, vuz23, vuz20, vuz21, ty_Integer) -> new_quot0(new_sr3(vuz22, vuz23), new_sr3(vuz20, vuz21), new_sr3(vuz22, vuz23)) 149.10/106.62 new_primQuotInt3(Neg(vuz3100), Neg(Succ(vuz45000))) -> Pos(new_primDivNatS1(vuz3100, vuz45000)) 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 new_gcd00(vuz30, vuz29) -> new_gcd0Gcd'2(new_abs0(vuz30), new_abs0(vuz29)) 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primPlusNat1(Succ(vuz2700), Zero) -> Succ(vuz2700) 149.10/106.62 new_primPlusNat1(Zero, Succ(vuz30000)) -> Succ(vuz30000) 149.10/106.62 new_gcd0Gcd'11(False, vuz33, vuz32) -> new_gcd0Gcd'02(new_abs(vuz33), new_abs(vuz32)) 149.10/106.62 new_primQuotInt0(vuz280, vuz30, vuz29) -> new_primQuotInt5(vuz280, new_esEs0(new_abs0(vuz29)), vuz30, vuz29) 149.10/106.62 new_quot2(vuz20, vuz21, vuz22, vuz23, ty_Int) -> new_quot(new_sr1(vuz20, vuz21), new_sr1(vuz20, vuz21), new_sr1(vuz22, vuz23)) 149.10/106.62 new_esEs1(vuz91, vuz301, ty_Integer) -> new_esEs(new_sr3(vuz91, vuz301)) 149.10/106.62 new_quot2(vuz20, vuz21, vuz22, vuz23, ty_Integer) -> new_quot0(new_sr3(vuz20, vuz21), new_sr3(vuz20, vuz21), new_sr3(vuz22, vuz23)) 149.10/106.62 new_sr(vuz7, vuz80, ty_Int) -> new_sr1(vuz7, vuz80) 149.10/106.62 new_reduce2Reduce1(vuz20, vuz21, vuz22, vuz23, False, bc) -> :%(new_quot2(vuz20, vuz21, vuz22, vuz23, bc), new_quot3(vuz22, vuz23, vuz20, vuz21, bc)) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_abs0(Pos(Zero)) -> Pos(Zero) 149.10/106.62 new_primDivNatS1(Succ(Succ(vuz28000)), Succ(vuz48000)) -> new_primDivNatS01(vuz28000, vuz48000, vuz28000, vuz48000) 149.10/106.62 new_sr1(vuz13, vuz30) -> new_primMulInt(vuz13, vuz30) 149.10/106.62 new_sr2(:%(vuz90, vuz91), :%(vuz300, vuz301), bb) -> new_reduce2Reduce1(vuz90, vuz300, vuz91, vuz301, new_esEs1(vuz91, vuz301, bb), bb) 149.10/106.62 new_gcd0Gcd'01(vuz51, vuz50) -> new_gcd0Gcd'2(vuz50, new_primRemInt(vuz51, vuz50)) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_abs0(Neg(Succ(vuz2900))) -> new_primNegInt(vuz2900) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_reduce2Reduce1(vuz20, vuz21, vuz22, vuz23, True, bc) -> error([]) 149.10/106.62 new_primQuotInt4(vuz280, Neg(Zero)) -> new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_quot1(vuz310, Integer(vuz450)) -> Integer(new_primQuotInt3(vuz310, vuz450)) 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_primMulInt(Neg(vuz130), Neg(vuz300)) -> Pos(new_primMulNat0(vuz130, vuz300)) 149.10/106.62 new_abs(Integer(Neg(Succ(vuz32000)))) -> Integer(new_primNegInt(vuz32000)) 149.10/106.62 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_sr3(Integer(vuz100), Integer(vuz300)) -> Integer(new_primMulInt(vuz100, vuz300)) 149.10/106.62 new_gcd0Gcd'2(vuz56, vuz55) -> new_gcd0Gcd'12(new_esEs0(vuz55), vuz56, vuz55) 149.10/106.62 new_gcd0Gcd'13(False, vuz59, vuz60) -> new_gcd0Gcd'02(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 new_error -> error([]) 149.10/106.62 new_gcd1(True, vuz33, vuz32) -> error([]) 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_gcd20(True, vuz33, vuz32) -> new_gcd1(new_esEs(vuz32), vuz33, vuz32) 149.10/106.62 new_primPlusNat1(Succ(vuz2700), Succ(vuz30000)) -> Succ(Succ(new_primPlusNat1(vuz2700, vuz30000))) 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primDivNatS01(vuz78, vuz79, Zero, Zero) -> new_primDivNatS02(vuz78, vuz79) 149.10/106.62 new_sr(vuz7, vuz80, app(ty_Ratio, ba)) -> new_sr2(vuz7, vuz80, ba) 149.10/106.62 new_sr(vuz7, vuz80, ty_Float) -> new_sr0(vuz7, vuz80) 149.10/106.62 new_primQuotInt(vuz280, True, vuz30, vuz29) -> error([]) 149.10/106.62 new_primNegInt(vuz2900) -> Pos(Succ(vuz2900)) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_abs(Integer(Pos(Zero))) 149.10/106.62 new_esEs1(x0, x1, ty_Integer) 149.10/106.62 new_abs(Integer(Neg(Zero))) 149.10/106.62 new_sr(x0, x1, app(ty_Ratio, x2)) 149.10/106.62 new_primQuotInt3(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_sr1(x0, x1) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_esEs(Integer(x0)) 149.10/106.62 new_sr3(Integer(x0), Integer(x1)) 149.10/106.62 new_sr(x0, x1, ty_Double) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primDivNatS1(Succ(Zero), Zero) 149.10/106.62 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMulInt(Neg(x0), Neg(x1)) 149.10/106.62 new_esEs0(Neg(Zero)) 149.10/106.62 new_primMulNat0(Zero, Zero) 149.10/106.62 new_primPlusNat1(Zero, Zero) 149.10/106.62 new_esEs0(Pos(Zero)) 149.10/106.62 new_primDivNatS1(Zero, x0) 149.10/106.62 new_abs0(Neg(Zero)) 149.10/106.62 new_primPlusNat0(Zero, x0) 149.10/106.62 new_primMulNat0(Succ(x0), Succ(x1)) 149.10/106.62 new_primMulInt(Pos(x0), Neg(x1)) 149.10/106.62 new_primMulInt(Neg(x0), Pos(x1)) 149.10/106.62 new_primDivNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primQuotInt5(x0, True, x1, x2) 149.10/106.62 new_gcd0Gcd'12(True, x0, x1) 149.10/106.62 new_gcd0Gcd'12(False, x0, x1) 149.10/106.62 new_gcd0Gcd'2(x0, x1) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_gcd0Gcd'02(x0, x1) 149.10/106.62 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 149.10/106.62 new_primQuotInt4(x0, Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_gcd1(False, x0, x1) 149.10/106.62 new_quot0(Integer(x0), x1, x2) 149.10/106.62 new_quot3(x0, x1, x2, x3, ty_Int) 149.10/106.62 new_quot3(x0, x1, x2, x3, ty_Integer) 149.10/106.62 new_primMulInt(Pos(x0), Pos(x1)) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primMulNat0(Succ(x0), Zero) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primQuotInt3(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_gcd0Gcd'01(x0, x1) 149.10/106.62 new_primDivNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_sr(x0, x1, ty_Integer) 149.10/106.62 new_primPlusNat1(Zero, Succ(x0)) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_esEs1(x0, x1, ty_Int) 149.10/106.62 new_gcd10(True, x0, x1) 149.10/106.62 new_sr(x0, x1, ty_Float) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_esEs0(Neg(Succ(x0))) 149.10/106.62 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_gcd2(False, x0, x1) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_sr0(Float(x0, x1), Float(x2, x3)) 149.10/106.62 new_gcd0Gcd'11(True, x0, x1) 149.10/106.62 new_abs0(Neg(Succ(x0))) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primQuotInt3(Neg(x0), Neg(Zero)) 149.10/106.62 new_gcd20(True, x0, x1) 149.10/106.62 new_primQuotInt(x0, False, x1, x2) 149.10/106.62 new_gcd20(False, x0, x1) 149.10/106.62 new_primQuotInt3(Pos(x0), Neg(Zero)) 149.10/106.62 new_primQuotInt3(Neg(x0), Pos(Zero)) 149.10/106.62 new_primQuotInt4(x0, Neg(Succ(x1))) 149.10/106.62 new_esEs0(Pos(Succ(x0))) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_gcd0Gcd'11(False, x0, x1) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primQuotInt(x0, True, x1, x2) 149.10/106.62 new_abs(Integer(Neg(Succ(x0)))) 149.10/106.62 new_primQuotInt1(x0, False, x1, x2) 149.10/106.62 new_primQuotInt4(x0, Pos(Succ(x1))) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primDivNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_sr4(Double(x0, x1), Double(x2, x3)) 149.10/106.62 new_primMulNat0(Zero, Succ(x0)) 149.10/106.62 new_sr(x0, x1, ty_Int) 149.10/106.62 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 149.10/106.62 new_primNegInt(x0) 149.10/106.62 new_quot2(x0, x1, x2, x3, ty_Int) 149.10/106.62 new_quot(Neg(x0), x1, x2) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_quot(Pos(x0), x1, x2) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_gcd00(x0, x1) 149.10/106.62 new_gcd0Gcd'13(False, x0, x1) 149.10/106.62 new_primPlusNat1(Succ(x0), Succ(x1)) 149.10/106.62 new_primDivNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_abs0(Pos(Succ(x0))) 149.10/106.62 new_primQuotInt4(x0, Pos(Zero)) 149.10/106.62 new_primQuotInt5(x0, False, x1, x2) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_quot2(x0, x1, x2, x3, ty_Integer) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_gcd0Gcd'13(True, x0, x1) 149.10/106.62 new_sr2(:%(x0, x1), :%(x2, x3), x4) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_quot1(x0, Integer(x1)) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_abs0(Pos(Zero)) 149.10/106.62 new_gcd2(True, x0, x1) 149.10/106.62 new_primQuotInt2(x0, x1, x2) 149.10/106.62 new_primQuotInt3(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primQuotInt3(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_gcd10(False, x0, x1) 149.10/106.62 new_primDivNatS02(x0, x1) 149.10/106.62 new_primQuotInt1(x0, True, x1, x2) 149.10/106.62 new_primQuotInt3(Pos(x0), Pos(Zero)) 149.10/106.62 new_primPlusNat0(Succ(x0), x1) 149.10/106.62 new_gcd1(True, x0, x1) 149.10/106.62 new_gcd0(x0, x1) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_abs(Integer(Pos(Succ(x0)))) 149.10/106.62 new_primQuotInt0(x0, x1, x2) 149.10/106.62 new_primPlusNat1(Succ(x0), Zero) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (29) QDPSizeChangeProof (EQUIVALENT) 149.10/106.62 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. 149.10/106.62 149.10/106.62 From the DPs we obtained the following set of size-change graphs: 149.10/106.62 *new_enforceWHNF(vuz7, :(vuz80, vuz81), h) -> new_enforceWHNF(new_sr(vuz7, vuz80, h), vuz81, h) 149.10/106.62 The graph contains the following edges 2 > 2, 3 >= 3 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (30) 149.10/106.62 YES 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (31) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primDivNatS(Succ(Succ(vuz28000)), Succ(vuz48000)) -> new_primDivNatS0(vuz28000, vuz48000, vuz28000, vuz48000) 149.10/106.62 new_primDivNatS0(vuz78, vuz79, Zero, Zero) -> new_primDivNatS00(vuz78, vuz79) 149.10/106.62 new_primDivNatS(Succ(Succ(vuz28000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz28000), Zero) 149.10/106.62 new_primDivNatS0(vuz78, vuz79, Succ(vuz800), Succ(vuz810)) -> new_primDivNatS0(vuz78, vuz79, vuz800, vuz810) 149.10/106.62 new_primDivNatS0(vuz78, vuz79, Succ(vuz800), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz78, vuz79), Succ(vuz79)) 149.10/106.62 new_primDivNatS00(vuz78, vuz79) -> new_primDivNatS(new_primMinusNatS2(vuz78, vuz79), Succ(vuz79)) 149.10/106.62 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (32) DependencyGraphProof (EQUIVALENT) 149.10/106.62 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (33) 149.10/106.62 Complex Obligation (AND) 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (34) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primDivNatS(Succ(Succ(vuz28000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz28000), Zero) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (35) MRRProof (EQUIVALENT) 149.10/106.62 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. 149.10/106.62 149.10/106.62 Strictly oriented dependency pairs: 149.10/106.62 149.10/106.62 new_primDivNatS(Succ(Succ(vuz28000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz28000), Zero) 149.10/106.62 149.10/106.62 Strictly oriented rules of the TRS R: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 149.10/106.62 Used ordering: Polynomial interpretation [POLO]: 149.10/106.62 149.10/106.62 POL(Succ(x_1)) = 1 + x_1 149.10/106.62 POL(Zero) = 2 149.10/106.62 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 149.10/106.62 POL(new_primMinusNatS0(x_1)) = 1 + x_1 149.10/106.62 POL(new_primMinusNatS1) = 2 149.10/106.62 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (36) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 P is empty. 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (37) PisEmptyProof (EQUIVALENT) 149.10/106.62 The TRS P is empty. Hence, there is no (P,Q,R) chain. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (38) 149.10/106.62 YES 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (39) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primDivNatS0(vuz78, vuz79, Zero, Zero) -> new_primDivNatS00(vuz78, vuz79) 149.10/106.62 new_primDivNatS00(vuz78, vuz79) -> new_primDivNatS(new_primMinusNatS2(vuz78, vuz79), Succ(vuz79)) 149.10/106.62 new_primDivNatS(Succ(Succ(vuz28000)), Succ(vuz48000)) -> new_primDivNatS0(vuz28000, vuz48000, vuz28000, vuz48000) 149.10/106.62 new_primDivNatS0(vuz78, vuz79, Succ(vuz800), Succ(vuz810)) -> new_primDivNatS0(vuz78, vuz79, vuz800, vuz810) 149.10/106.62 new_primDivNatS0(vuz78, vuz79, Succ(vuz800), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz78, vuz79), Succ(vuz79)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (40) QDPSizeChangeProof (EQUIVALENT) 149.10/106.62 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 149.10/106.62 149.10/106.62 Order:Polynomial interpretation [POLO]: 149.10/106.62 149.10/106.62 POL(Succ(x_1)) = 1 + x_1 149.10/106.62 POL(Zero) = 1 149.10/106.62 POL(new_primMinusNatS2(x_1, x_2)) = x_1 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 From the DPs we obtained the following set of size-change graphs: 149.10/106.62 *new_primDivNatS00(vuz78, vuz79) -> new_primDivNatS(new_primMinusNatS2(vuz78, vuz79), Succ(vuz79)) (allowed arguments on rhs = {1, 2}) 149.10/106.62 The graph contains the following edges 1 >= 1 149.10/106.62 149.10/106.62 149.10/106.62 *new_primDivNatS(Succ(Succ(vuz28000)), Succ(vuz48000)) -> new_primDivNatS0(vuz28000, vuz48000, vuz28000, vuz48000) (allowed arguments on rhs = {1, 2, 3, 4}) 149.10/106.62 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 149.10/106.62 149.10/106.62 149.10/106.62 *new_primDivNatS0(vuz78, vuz79, Succ(vuz800), Succ(vuz810)) -> new_primDivNatS0(vuz78, vuz79, vuz800, vuz810) (allowed arguments on rhs = {1, 2, 3, 4}) 149.10/106.62 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 149.10/106.62 149.10/106.62 149.10/106.62 *new_primDivNatS0(vuz78, vuz79, Zero, Zero) -> new_primDivNatS00(vuz78, vuz79) (allowed arguments on rhs = {1, 2}) 149.10/106.62 The graph contains the following edges 1 >= 1, 2 >= 2 149.10/106.62 149.10/106.62 149.10/106.62 *new_primDivNatS0(vuz78, vuz79, Succ(vuz800), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz78, vuz79), Succ(vuz79)) (allowed arguments on rhs = {1, 2}) 149.10/106.62 The graph contains the following edges 1 >= 1 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We oriented the following set of usable rules [AAECC05,FROCOS05]. 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (41) 149.10/106.62 YES 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (42) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_primMulNat(Succ(vuz1300), Succ(vuz3000)) -> new_primMulNat(vuz1300, Succ(vuz3000)) 149.10/106.62 149.10/106.62 R is empty. 149.10/106.62 Q is empty. 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (43) QDPSizeChangeProof (EQUIVALENT) 149.10/106.62 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. 149.10/106.62 149.10/106.62 From the DPs we obtained the following set of size-change graphs: 149.10/106.62 *new_primMulNat(Succ(vuz1300), Succ(vuz3000)) -> new_primMulNat(vuz1300, Succ(vuz3000)) 149.10/106.62 The graph contains the following edges 1 > 1, 2 >= 2 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (44) 149.10/106.62 YES 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (45) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'0(vuz60, vuz59) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz60, vuz59)), vuz59, vuz60) 149.10/106.62 new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_esEs(Integer(vuz250)) -> new_primEqInt(vuz250) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_esEs(Integer(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (46) MNOCProof (EQUIVALENT) 149.10/106.62 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (47) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'0(vuz60, vuz59) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz60, vuz59)), vuz59, vuz60) 149.10/106.62 new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_esEs(Integer(vuz250)) -> new_primEqInt(vuz250) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 149.10/106.62 Q is empty. 149.10/106.62 We have to consider all (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (48) InductionCalculusProof (EQUIVALENT) 149.10/106.62 Note that final constraints are written in bold face. 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 For Pair new_gcd0Gcd'0(vuz60, vuz59) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz60, vuz59)), vuz59, vuz60) the following chains were created: 149.10/106.62 *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2), new_gcd0Gcd'1(False, x4, x5) -> new_gcd0Gcd'0(x4, new_rem(x5, x4)) which results in the following constraint: 149.10/106.62 149.10/106.62 (1) (new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)=new_gcd0Gcd'1(False, x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.10/106.62 149.10/106.62 (2) (new_rem(x2, x3)=x12 & new_esEs(x12)=False ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x12)=False which results in the following new constraint: 149.10/106.62 149.10/106.62 (3) (new_primEqInt(x13)=False & new_rem(x2, x3)=Integer(x13) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x13)=False which results in the following new constraints: 149.10/106.62 149.10/106.62 (4) (False=False & new_rem(x2, x3)=Integer(Pos(Succ(x14))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 149.10/106.62 149.10/106.62 (5) (False=False & new_rem(x2, x3)=Integer(Neg(Succ(x15))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 149.10/106.62 149.10/106.62 (6) (new_rem(x2, x3)=Integer(Pos(Succ(x14))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 149.10/106.62 149.10/106.62 (7) (new_rem(x2, x3)=Integer(Neg(Succ(x15))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_rem(x2, x3)=Integer(Pos(Succ(x14))) which results in the following new constraint: 149.10/106.62 149.10/106.62 (8) (Integer(new_primRemInt(x17, x16))=Integer(Pos(Succ(x14))) ==> new_gcd0Gcd'0(Integer(x17), Integer(x16))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x17), Integer(x16))), Integer(x16), Integer(x17))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (8) using rules (I), (II) which results in the following new constraint: 149.10/106.62 149.10/106.62 (9) (new_primRemInt(x17, x16)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(x17), Integer(x16))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x17), Integer(x16))), Integer(x16), Integer(x17))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x17, x16)=Pos(Succ(x14)) which results in the following new constraints: 149.10/106.62 149.10/106.62 (10) (Pos(new_primModNatS1(x19, x18))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Pos(x19)), Integer(Neg(Succ(x18))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x19)), Integer(Neg(Succ(x18))))), Integer(Neg(Succ(x18))), Integer(Pos(x19)))) 149.10/106.62 149.10/106.62 (11) (Pos(new_primModNatS1(x21, x20))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Pos(x21)), Integer(Pos(Succ(x20))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x21)), Integer(Pos(Succ(x20))))), Integer(Pos(Succ(x20))), Integer(Pos(x21)))) 149.10/106.62 149.10/106.62 (12) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Neg(x22)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x22)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x22)))) 149.10/106.62 149.10/106.62 (13) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Pos(x25)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x25)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x25)))) 149.10/106.62 149.10/106.62 (14) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Pos(x28)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x28)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x28)))) 149.10/106.62 149.10/106.62 (15) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Neg(x29)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x29)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x29)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (16) (new_gcd0Gcd'0(Integer(Pos(x19)), Integer(Neg(Succ(x18))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x19)), Integer(Neg(Succ(x18))))), Integer(Neg(Succ(x18))), Integer(Pos(x19)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (17) (new_gcd0Gcd'0(Integer(Pos(x21)), Integer(Pos(Succ(x20))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x21)), Integer(Pos(Succ(x20))))), Integer(Pos(Succ(x20))), Integer(Pos(x21)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (12) using rule (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (18) (new_gcd0Gcd'0(Integer(Neg(x22)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x22)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x22)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (13) using rule (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (19) (new_gcd0Gcd'0(Integer(Pos(x25)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x25)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x25)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (14) using rule (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (20) (new_gcd0Gcd'0(Integer(Pos(x28)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x28)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x28)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (15) using rule (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (21) (new_gcd0Gcd'0(Integer(Neg(x29)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x29)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x29)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_rem(x2, x3)=Integer(Neg(Succ(x15))) which results in the following new constraint: 149.10/106.62 149.10/106.62 (22) (Integer(new_primRemInt(x31, x30))=Integer(Neg(Succ(x15))) ==> new_gcd0Gcd'0(Integer(x31), Integer(x30))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x31), Integer(x30))), Integer(x30), Integer(x31))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (22) using rules (I), (II) which results in the following new constraint: 149.10/106.62 149.10/106.62 (23) (new_primRemInt(x31, x30)=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(x31), Integer(x30))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x31), Integer(x30))), Integer(x30), Integer(x31))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (23) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x31, x30)=Neg(Succ(x15)) which results in the following new constraints: 149.10/106.62 149.10/106.62 (24) (new_error=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Neg(x36)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x36)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x36)))) 149.10/106.62 149.10/106.62 (25) (Neg(new_primModNatS1(x38, x37))=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Neg(x38)), Integer(Pos(Succ(x37))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x38)), Integer(Pos(Succ(x37))))), Integer(Pos(Succ(x37))), Integer(Neg(x38)))) 149.10/106.62 149.10/106.62 (26) (new_error=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Pos(x39)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x39)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x39)))) 149.10/106.62 149.10/106.62 (27) (Neg(new_primModNatS1(x41, x40))=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Neg(x41)), Integer(Neg(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x41)), Integer(Neg(Succ(x40))))), Integer(Neg(Succ(x40))), Integer(Neg(x41)))) 149.10/106.62 149.10/106.62 (28) (new_error=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Pos(x42)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x42)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x42)))) 149.10/106.62 149.10/106.62 (29) (new_error=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Neg(x43)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x43)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x43)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (24) using rule (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (30) (new_gcd0Gcd'0(Integer(Neg(x36)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x36)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x36)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (25) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (31) (new_gcd0Gcd'0(Integer(Neg(x38)), Integer(Pos(Succ(x37))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x38)), Integer(Pos(Succ(x37))))), Integer(Pos(Succ(x37))), Integer(Neg(x38)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (26) using rule (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (32) (new_gcd0Gcd'0(Integer(Pos(x39)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x39)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x39)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (27) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (33) (new_gcd0Gcd'0(Integer(Neg(x41)), Integer(Neg(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x41)), Integer(Neg(Succ(x40))))), Integer(Neg(Succ(x40))), Integer(Neg(x41)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (28) using rule (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (34) (new_gcd0Gcd'0(Integer(Pos(x42)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x42)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x42)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We solved constraint (29) using rule (IV). 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 For Pair new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) the following chains were created: 149.10/106.62 *We consider the chain new_gcd0Gcd'1(False, x6, x7) -> new_gcd0Gcd'0(x6, new_rem(x7, x6)), new_gcd0Gcd'0(x8, x9) -> new_gcd0Gcd'1(new_esEs(new_rem(x8, x9)), x9, x8) which results in the following constraint: 149.10/106.62 149.10/106.62 (1) (new_gcd0Gcd'0(x6, new_rem(x7, x6))=new_gcd0Gcd'0(x8, x9) ==> new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.62 149.10/106.62 (2) (new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 To summarize, we get the following constraints P__>=_ for the following pairs. 149.10/106.62 149.10/106.62 *new_gcd0Gcd'0(vuz60, vuz59) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz60, vuz59)), vuz59, vuz60) 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Pos(x19)), Integer(Neg(Succ(x18))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x19)), Integer(Neg(Succ(x18))))), Integer(Neg(Succ(x18))), Integer(Pos(x19)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Pos(x21)), Integer(Pos(Succ(x20))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x21)), Integer(Pos(Succ(x20))))), Integer(Pos(Succ(x20))), Integer(Pos(x21)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Neg(x22)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x22)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x22)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Pos(x25)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x25)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x25)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Pos(x28)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x28)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x28)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Neg(x29)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x29)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x29)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Neg(x36)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x36)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x36)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Neg(x38)), Integer(Pos(Succ(x37))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x38)), Integer(Pos(Succ(x37))))), Integer(Pos(Succ(x37))), Integer(Neg(x38)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Pos(x39)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x39)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x39)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Neg(x41)), Integer(Neg(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x41)), Integer(Neg(Succ(x40))))), Integer(Neg(Succ(x40))), Integer(Neg(x41)))) 149.10/106.62 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'0(Integer(Pos(x42)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x42)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x42)))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 *new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 149.10/106.62 *(new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 149.10/106.62 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. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (49) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'0(vuz60, vuz59) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz60, vuz59)), vuz59, vuz60) 149.10/106.62 new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_esEs(Integer(vuz250)) -> new_primEqInt(vuz250) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_esEs(Integer(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (50) TransformationProof (EQUIVALENT) 149.10/106.62 By narrowing [LPAR04] the rule new_gcd0Gcd'0(vuz60, vuz59) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz60, vuz59)), vuz59, vuz60) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.62 149.10/106.62 (new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)),new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0))) 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (51) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_esEs(Integer(vuz250)) -> new_primEqInt(vuz250) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_esEs(Integer(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (52) TransformationProof (EQUIVALENT) 149.10/106.62 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.62 149.10/106.62 (new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)),new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0))) 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (53) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_esEs(Integer(vuz250)) -> new_primEqInt(vuz250) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_esEs(Integer(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (54) UsableRulesProof (EQUIVALENT) 149.10/106.62 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. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (55) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_esEs(Integer(x0)) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (56) QReductionProof (EQUIVALENT) 149.10/106.62 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.10/106.62 149.10/106.62 new_esEs(Integer(x0)) 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (57) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) 149.10/106.62 new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (58) TransformationProof (EQUIVALENT) 149.10/106.62 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vuz59, vuz60) -> new_gcd0Gcd'0(vuz59, new_rem(vuz60, vuz59)) at position [1] we obtained the following new rules [LPAR04]: 149.10/106.62 149.10/106.62 (new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))),new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1)))) 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (59) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) 149.10/106.62 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_rem(Integer(vuz600), Integer(vuz590)) -> Integer(new_primRemInt(vuz600, vuz590)) 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (60) UsableRulesProof (EQUIVALENT) 149.10/106.62 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. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (61) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) 149.10/106.62 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (62) QReductionProof (EQUIVALENT) 149.10/106.62 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.10/106.62 149.10/106.62 new_rem(Integer(x0), Integer(x1)) 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (63) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) 149.10/106.62 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_error -> error([]) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.62 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.62 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.62 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.62 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.62 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.62 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.62 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.62 new_primMinusNatS1 -> Zero 149.10/106.62 new_primEqInt(Neg(Zero)) -> True 149.10/106.62 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.62 new_primEqInt(Pos(Zero)) -> True 149.10/106.62 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.62 149.10/106.62 The set Q consists of the following terms: 149.10/106.62 149.10/106.62 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.62 new_primEqInt(Neg(Succ(x0))) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.62 new_primModNatS02(x0, x1) 149.10/106.62 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.62 new_primMinusNatS1 149.10/106.62 new_primEqInt(Pos(Zero)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.62 new_primMinusNatS0(x0) 149.10/106.62 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.62 new_primModNatS1(Zero, x0) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.62 new_primMinusNatS2(Zero, Zero) 149.10/106.62 new_error 149.10/106.62 new_primModNatS1(Succ(Zero), Zero) 149.10/106.62 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.62 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.62 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.62 new_primEqInt(Neg(Zero)) 149.10/106.62 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.62 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.62 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.62 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.62 new_primEqInt(Pos(Succ(x0))) 149.10/106.62 149.10/106.62 We have to consider all minimal (P,Q,R)-chains. 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (64) TransformationProof (EQUIVALENT) 149.10/106.62 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.62 149.10/106.62 (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0)))) 149.10/106.62 (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0)))) 149.10/106.62 (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Neg(x0)))) 149.10/106.62 (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0)))) 149.10/106.62 (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Pos(x0)))) 149.10/106.62 (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0)))) 149.10/106.62 (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Pos(x0)))) 149.10/106.62 (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0)))) 149.10/106.62 149.10/106.62 149.10/106.62 ---------------------------------------- 149.10/106.62 149.10/106.62 (65) 149.10/106.62 Obligation: 149.10/106.62 Q DP problem: 149.10/106.62 The TRS P consists of the following rules: 149.10/106.62 149.10/106.62 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.62 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.62 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.62 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Neg(x0))) 149.10/106.62 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.62 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Pos(x0))) 149.10/106.62 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.62 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Pos(x0))) 149.10/106.62 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))) 149.10/106.62 149.10/106.62 The TRS R consists of the following rules: 149.10/106.62 149.10/106.62 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.62 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.62 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (66) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Neg(x0))) at position [0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Neg(x0)))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (67) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (68) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (69) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (70) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Pos(x0))) at position [0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Pos(x0)))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (71) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Pos(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (72) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (73) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (74) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Neg(Zero)), Integer(Pos(x0))) at position [0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Pos(x0)))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (75) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Pos(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (76) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (77) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (78) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error), Integer(Pos(Zero)), Integer(Neg(x0))) at position [0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Neg(x0)))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (79) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (80) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (81) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (82) TransformationProof (EQUIVALENT) 149.10/106.63 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1))))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1))))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error)),new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1))))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error)),new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1))))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error)),new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error)),new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (83) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error)) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error)) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error)) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error)) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (84) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (85) 149.10/106.63 Complex Obligation (AND) 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (86) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.63 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.63 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.63 new_error -> error([]) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.63 new_primEqInt(Pos(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (87) UsableRulesProof (EQUIVALENT) 149.10/106.63 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. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (88) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_error 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (89) QReductionProof (EQUIVALENT) 149.10/106.63 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.10/106.63 149.10/106.63 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.63 new_error 149.10/106.63 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.63 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.63 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (90) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (91) TransformationProof (EQUIVALENT) 149.10/106.63 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Neg(Zero)))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero))))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (92) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (93) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (94) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (95) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (96) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (97) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (98) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (99) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (100) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (101) TransformationProof (EQUIVALENT) 149.10/106.63 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(x0))), Integer(Neg(Zero)))) 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (102) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(x0))), Integer(Neg(Zero))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (103) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (104) 149.10/106.63 Complex Obligation (AND) 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (105) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.63 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.63 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.63 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.63 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (106) UsableRulesProof (EQUIVALENT) 149.10/106.63 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. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (107) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (108) QReductionProof (EQUIVALENT) 149.10/106.63 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.10/106.63 149.10/106.63 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.63 new_primModNatS02(x0, x1) 149.10/106.63 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.63 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.63 new_primMinusNatS2(Zero, Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.63 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.63 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (109) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (110) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (111) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (112) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (113) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (114) TransformationProof (EQUIVALENT) 149.10/106.63 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (115) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (116) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (117) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (118) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (119) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (120) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (121) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (122) TransformationProof (EQUIVALENT) 149.10/106.63 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.63 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 149.10/106.63 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.63 149.10/106.63 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (123) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (124) DependencyGraphProof (EQUIVALENT) 149.10/106.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (125) 149.10/106.63 Obligation: 149.10/106.63 Q DP problem: 149.10/106.63 The TRS P consists of the following rules: 149.10/106.63 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.63 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.10/106.63 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.63 149.10/106.63 The TRS R consists of the following rules: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.63 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.63 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.63 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.63 new_primMinusNatS1 -> Zero 149.10/106.63 new_primEqInt(Neg(Zero)) -> True 149.10/106.63 149.10/106.63 The set Q consists of the following terms: 149.10/106.63 149.10/106.63 new_primEqInt(Neg(Succ(x0))) 149.10/106.63 new_primMinusNatS1 149.10/106.63 new_primEqInt(Pos(Zero)) 149.10/106.63 new_primMinusNatS0(x0) 149.10/106.63 new_primModNatS1(Zero, x0) 149.10/106.63 new_primModNatS1(Succ(Zero), Zero) 149.10/106.63 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.63 new_primEqInt(Neg(Zero)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.63 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.63 new_primEqInt(Pos(Succ(x0))) 149.10/106.63 149.10/106.63 We have to consider all minimal (P,Q,R)-chains. 149.10/106.63 ---------------------------------------- 149.10/106.63 149.10/106.63 (126) TransformationProof (EQUIVALENT) 149.10/106.63 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (127) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.64 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS1 -> Zero 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primMinusNatS1 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS0(x0) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (128) QDPSizeChangeProof (EQUIVALENT) 149.10/106.64 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 149.10/106.64 149.10/106.64 Order:Polynomial interpretation [POLO]: 149.10/106.64 149.10/106.64 POL(False) = 1 149.10/106.64 POL(Integer(x_1)) = x_1 149.10/106.64 POL(Neg(x_1)) = x_1 149.10/106.64 POL(Succ(x_1)) = 1 + x_1 149.10/106.64 POL(Zero) = 1 149.10/106.64 POL(new_primMinusNatS0(x_1)) = 1 + x_1 149.10/106.64 POL(new_primMinusNatS1) = 1 149.10/106.64 POL(new_primModNatS1(x_1, x_2)) = x_1 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 From the DPs we obtained the following set of size-change graphs: 149.10/106.64 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) (allowed arguments on rhs = {1, 2}) 149.10/106.64 The graph contains the following edges 2 >= 1, 3 >= 2 149.10/106.64 149.10/106.64 149.10/106.64 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) (allowed arguments on rhs = {1, 2}) 149.10/106.64 The graph contains the following edges 2 >= 1, 3 > 2 149.10/106.64 149.10/106.64 149.10/106.64 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 149.10/106.64 The graph contains the following edges 2 >= 2, 1 >= 3 149.10/106.64 149.10/106.64 149.10/106.64 *new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) (allowed arguments on rhs = {2, 3}) 149.10/106.64 The graph contains the following edges 2 >= 2, 1 >= 3 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We oriented the following set of usable rules [AAECC05,FROCOS05]. 149.10/106.64 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.64 new_primMinusNatS1 -> Zero 149.10/106.64 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (129) 149.10/106.64 YES 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (130) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primMinusNatS1 -> Zero 149.10/106.64 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primMinusNatS1 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS0(x0) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (131) UsableRulesProof (EQUIVALENT) 149.10/106.64 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. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (132) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primMinusNatS1 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS0(x0) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (133) QReductionProof (EQUIVALENT) 149.10/106.64 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.10/106.64 149.10/106.64 new_primMinusNatS1 149.10/106.64 new_primMinusNatS0(x0) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (134) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (135) TransformationProof (EQUIVALENT) 149.10/106.64 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (136) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (137) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (138) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (139) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (140) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (141) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (142) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (143) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (144) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (145) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (146) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (147) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (148) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (149) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (150) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (151) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (152) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (153) DependencyGraphProof (EQUIVALENT) 149.10/106.64 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (154) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (155) TransformationProof (EQUIVALENT) 149.10/106.64 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Zero, Zero))))) 149.10/106.64 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))))) 149.10/106.64 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero))))) 149.10/106.64 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (156) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Zero, Zero)))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero)))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (157) DependencyGraphProof (EQUIVALENT) 149.10/106.64 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (158) 149.10/106.64 Complex Obligation (AND) 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (159) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (160) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (161) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (162) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (163) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (164) TransformationProof (EQUIVALENT) 149.10/106.64 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.64 149.10/106.64 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (165) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (166) QReductionProof (EQUIVALENT) 149.10/106.64 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 149.10/106.64 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (167) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 149.10/106.64 We have to consider all (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (168) InductionCalculusProof (EQUIVALENT) 149.10/106.64 Note that final constraints are written in bold face. 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: 149.10/106.64 *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) which results in the following constraint: 149.10/106.64 149.10/106.64 (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (2) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: 149.10/106.64 *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x9), Succ(Zero))))) which results in the following constraint: 149.10/106.64 149.10/106.64 (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (2) (Neg(new_primModNatS1(Succ(x8), Succ(Zero)))=x20 & new_primEqInt(x20)=False ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x20)=False which results in the following new constraint: 149.10/106.64 149.10/106.64 (3) (False=False & Neg(new_primModNatS1(Succ(x8), Succ(Zero)))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (4) (Succ(x8)=x22 & Succ(Zero)=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: 149.10/106.64 149.10/106.64 (5) (new_primModNatS01(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Zero)=Succ(x24) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8))))))) 149.10/106.64 149.10/106.64 (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Zero)=Succ(x26) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (7) (x25=x28 & x24=x29 & new_primModNatS01(x25, x24, x28, x29)=Succ(x21) & Zero=x24 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x25)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x25)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x25)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (8) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: 149.10/106.64 149.10/106.64 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Zero=x30 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x31)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x31)))))))) 149.10/106.64 149.10/106.64 (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Zero=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Zero=x34 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x35)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x35)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x35)))))))) 149.10/106.64 149.10/106.64 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Zero=x38 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x39)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x39)))))))) 149.10/106.64 149.10/106.64 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Zero=x41 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x42)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x42)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (13) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We solved constraint (10) using rules (I), (II), (III).We simplified constraint (11) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (14) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x37))))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x37))), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x37))))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We solved constraint (12) using rules (I), (II), (III), (IV). 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: 149.10/106.64 *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x11))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x11))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: 149.10/106.64 149.10/106.64 (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x11))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) the following chains were created: 149.10/106.64 *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x17), Succ(Zero))))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x18))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: 149.10/106.64 149.10/106.64 (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x17), Succ(Zero)))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x17), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (2) (Succ(x17)=x47 & Succ(Zero)=x48 & new_primModNatS1(x47, x48)=Succ(Succ(Succ(x18))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x17), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x47, x48)=Succ(Succ(Succ(x18))) which results in the following new constraints: 149.10/106.64 149.10/106.64 (3) (new_primModNatS01(x50, x49, x50, x49)=Succ(Succ(Succ(x18))) & Succ(x17)=Succ(Succ(x50)) & Succ(Zero)=Succ(x49) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x17), Succ(Zero)))))) 149.10/106.64 149.10/106.64 (4) (Succ(Zero)=Succ(Succ(Succ(x18))) & Succ(x17)=Succ(Zero) & Succ(Zero)=Succ(x51) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x17), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (5) (x50=x53 & x49=x54 & new_primModNatS01(x50, x49, x53, x54)=Succ(Succ(Succ(x18))) & Zero=x49 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x50)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x50, x49, x53, x54)=Succ(Succ(Succ(x18))) which results in the following new constraints: 149.10/106.64 149.10/106.64 (6) (new_primModNatS02(x56, x55)=Succ(Succ(Succ(x18))) & x56=Zero & x55=Zero & Zero=x55 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x56)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x56)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 (7) (new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x18))) & x60=Succ(x58) & x59=Succ(x57) & Zero=x59 & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x61))) & x60=x58 & x59=x57 & Zero=x59 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x60)), Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x60)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 (8) (new_primModNatS02(x64, x63)=Succ(Succ(Succ(x18))) & x64=Succ(x62) & x63=Zero & Zero=x63 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 (9) (Succ(Succ(x67))=Succ(Succ(Succ(x18))) & x67=Zero & x66=Succ(x65) & Zero=x66 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x67)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x67)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (10) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We solved constraint (7) using rules (I), (II), (III).We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (11) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We solved constraint (9) using rules (I), (II), (III). 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 To summarize, we get the following constraints P__>=_ for the following pairs. 149.10/106.64 149.10/106.64 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x37))))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x37))), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x37))))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Neg(Succ(Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 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. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (169) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (170) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (171) QReductionProof (EQUIVALENT) 149.10/106.64 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 149.10/106.64 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (172) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 149.10/106.64 We have to consider all (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (173) InductionCalculusProof (EQUIVALENT) 149.10/106.64 Note that final constraints are written in bold face. 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) the following chains were created: 149.10/106.64 *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(new_primModNatS01(Succ(x3), Succ(x2), x3, x2)))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Neg(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x4), Succ(x5), x4, x5))), Integer(Neg(Succ(Succ(Succ(x5))))), Integer(Neg(Succ(Succ(Succ(x4)))))) which results in the following constraint: 149.10/106.64 149.10/106.64 (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(new_primModNatS01(Succ(x3), Succ(x2), x3, x2))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Neg(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(new_primModNatS01(Succ(x3), Succ(x2), x3, x2))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (2) (Succ(x3)=x12 & Succ(x2)=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(x5))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(new_primModNatS01(Succ(x3), Succ(x2), x3, x2))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(x5))) which results in the following new constraints: 149.10/106.64 149.10/106.64 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(x5))) & Succ(Zero)=x15 & Succ(Zero)=x14 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.10/106.64 149.10/106.64 (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(x5))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(x20))) & Succ(x17)=x19 & Succ(x16)=x18 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Neg(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Neg(new_primModNatS01(Succ(x17), Succ(x16), x17, x16))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x16)))))), Integer(Neg(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x16)))))), Integer(Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), Succ(x17), Succ(x16)))))) 149.10/106.64 149.10/106.64 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(x5))) & Succ(Succ(x21))=x23 & Succ(Zero)=x22 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Succ(x21)), Succ(Zero), Succ(x21), Zero))))) 149.10/106.64 149.10/106.64 (6) (Succ(Succ(x26))=Succ(Succ(Succ(x5))) & Succ(Zero)=x26 & Succ(Succ(x24))=x25 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(x5))) which results in the following new constraint: 149.10/106.64 149.10/106.64 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(x5))) & Succ(Zero)=x28 & Succ(Zero)=x27 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (4) using rule (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(x5))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x16)))))), Integer(Neg(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x16)))))), Integer(Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), Succ(x17), Succ(x16)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(x5))) which results in the following new constraint: 149.10/106.64 149.10/106.64 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(x5))) & Succ(Succ(x21))=x47 & Succ(Zero)=x46 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Succ(x21)), Succ(Zero), Succ(x21), Zero))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (10) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (11) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(x5))) which results in the following new constraints: 149.10/106.64 149.10/106.64 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(x5))) & Succ(Succ(Zero))=x34 & Succ(Succ(Zero))=x33 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.10/106.64 149.10/106.64 (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(x5))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(x39))) & Succ(Succ(x36))=x38 & Succ(Succ(x35))=x37 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x35)))))), Integer(Neg(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x35)))))), Integer(Neg(new_primModNatS01(Succ(Succ(x36)), Succ(Succ(x35)), Succ(x36), Succ(x35)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(Succ(x36)), Succ(Succ(x35))))))) 149.10/106.64 149.10/106.64 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(x5))) & Succ(Succ(Succ(x40)))=x42 & Succ(Succ(Zero))=x41 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x40))), Succ(Succ(Zero)), Succ(Succ(x40)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 (15) (Succ(Succ(x45))=Succ(Succ(Succ(x5))) & Succ(Succ(Zero))=x45 & Succ(Succ(Succ(x43)))=x44 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x43))), Succ(Zero), Succ(Succ(x43))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (16) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (17) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(Succ(x36)), Succ(Succ(x35))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (18) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x40))), Succ(Succ(Zero)), Succ(Succ(x40)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (19) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x43))), Succ(Zero), Succ(Succ(x43))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (20) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Succ(x21)), Succ(Zero), Succ(x21), Zero))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: 149.10/106.64 *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(new_primModNatS01(Succ(x9), Succ(x8), x9, x8)))) which results in the following constraint: 149.10/106.64 149.10/106.64 (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (2) (Neg(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))=x52 & new_primEqInt(x52)=False ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52)=False which results in the following new constraint: 149.10/106.64 149.10/106.64 (3) (False=False & Neg(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (4) (Succ(x6)=x54 & Succ(x7)=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: 149.10/106.64 149.10/106.64 (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Zero)=x57 & Succ(Zero)=x56 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(x59)=x61 & Succ(x58)=x60 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x59))))), Integer(Neg(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x59), Succ(x58), x59, x58))), Integer(Neg(Succ(Succ(Succ(x58))))), Integer(Neg(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x59)))))), Integer(Neg(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), Succ(x59), Succ(x58)))), Integer(Neg(Succ(Succ(Succ(Succ(x58)))))), Integer(Neg(Succ(Succ(Succ(Succ(x59)))))))) 149.10/106.64 149.10/106.64 (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(x63))=x65 & Succ(Zero)=x64 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x63)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x63)), Succ(Zero), Succ(x63), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x63)))))))) 149.10/106.64 149.10/106.64 (8) (Succ(Succ(x68))=Succ(x53) & Succ(Zero)=x68 & Succ(Succ(x66))=x67 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x57, x56)=Succ(x53) which results in the following new constraint: 149.10/106.64 149.10/106.64 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Zero)=x70 & Succ(Zero)=x69 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (6) using rule (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x59)))))), Integer(Neg(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), Succ(x59), Succ(x58)))), Integer(Neg(Succ(Succ(Succ(Succ(x58)))))), Integer(Neg(Succ(Succ(Succ(Succ(x59)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x65, x64)=Succ(x53) which results in the following new constraint: 149.10/106.64 149.10/106.64 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(x63))=x89 & Succ(Zero)=x88 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x63)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x63)), Succ(Zero), Succ(x63), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x63)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (12) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (13) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x61, x60, x59, x58)=Succ(x53) which results in the following new constraints: 149.10/106.64 149.10/106.64 (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Zero))=x76 & Succ(Succ(Zero))=x75 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.64 149.10/106.64 (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(x78))=x80 & Succ(Succ(x77))=x79 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x78)))))), Integer(Neg(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x78)), Succ(Succ(x77)), Succ(x78), Succ(x77)))), Integer(Neg(Succ(Succ(Succ(Succ(x77)))))), Integer(Neg(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(Succ(x78)), Succ(Succ(x77))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x77))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))))) 149.10/106.64 149.10/106.64 (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(x82)))=x84 & Succ(Succ(Zero))=x83 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x82))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x82))), Succ(Succ(Zero)), Succ(Succ(x82)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x82))))))))) 149.10/106.64 149.10/106.64 (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Zero))=x87 & Succ(Succ(Succ(x85)))=x86 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (18) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (19) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(Succ(x78)), Succ(Succ(x77))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x77))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (20) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x82))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x82))), Succ(Succ(Zero)), Succ(Succ(x82)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x82))))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.64 149.10/106.64 (21) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 149.10/106.64 149.10/106.64 (22) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x63)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x63)), Succ(Zero), Succ(x63), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x63)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 To summarize, we get the following constraints P__>=_ for the following pairs. 149.10/106.64 149.10/106.64 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x43))), Succ(Zero), Succ(Succ(x43))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(Succ(x36)), Succ(Succ(x35))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x40))), Succ(Succ(Zero)), Succ(Succ(x40)), Succ(Zero)))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Succ(x21)), Succ(Zero), Succ(x21), Zero))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(Succ(x78)), Succ(Succ(x77))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x77))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x82))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x82))), Succ(Succ(Zero)), Succ(Succ(x82)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x82))))))))) 149.10/106.64 149.10/106.64 149.10/106.64 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x63)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x63)), Succ(Zero), Succ(x63), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x63)))))))) 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 149.10/106.64 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. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (174) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.64 new_primMinusNatS2(Zero, Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Zero)) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.64 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.64 new_primEqInt(Pos(Succ(x0))) 149.10/106.64 149.10/106.64 We have to consider all minimal (P,Q,R)-chains. 149.10/106.64 ---------------------------------------- 149.10/106.64 149.10/106.64 (175) 149.10/106.64 Obligation: 149.10/106.64 Q DP problem: 149.10/106.64 The TRS P consists of the following rules: 149.10/106.64 149.10/106.64 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) 149.10/106.64 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.64 149.10/106.64 The TRS R consists of the following rules: 149.10/106.64 149.10/106.64 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.64 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.10/106.64 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.10/106.64 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.64 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.10/106.64 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.10/106.64 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.10/106.64 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.10/106.64 new_error -> error([]) 149.10/106.64 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.64 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.64 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.64 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.64 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.64 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.64 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.64 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.64 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.64 new_primMinusNatS1 -> Zero 149.10/106.64 new_primEqInt(Neg(Zero)) -> True 149.10/106.64 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.64 new_primEqInt(Pos(Zero)) -> True 149.10/106.64 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.10/106.64 149.10/106.64 The set Q consists of the following terms: 149.10/106.64 149.10/106.64 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.64 new_primEqInt(Neg(Succ(x0))) 149.10/106.64 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.64 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.64 new_primModNatS02(x0, x1) 149.10/106.64 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.64 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.64 new_primMinusNatS1 149.10/106.64 new_primEqInt(Pos(Zero)) 149.10/106.64 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.64 new_primMinusNatS0(x0) 149.10/106.64 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.64 new_primModNatS1(Zero, x0) 149.10/106.65 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_error 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.65 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (176) UsableRulesProof (EQUIVALENT) 149.10/106.65 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. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (177) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.65 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_error 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.65 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (178) QReductionProof (EQUIVALENT) 149.10/106.65 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.10/106.65 149.10/106.65 new_primRemInt(Pos(x0), Neg(Zero)) 149.10/106.65 new_primRemInt(Neg(x0), Pos(Zero)) 149.10/106.65 new_primRemInt(Neg(x0), Neg(Zero)) 149.10/106.65 new_primRemInt(Pos(x0), Pos(Zero)) 149.10/106.65 new_error 149.10/106.65 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.10/106.65 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.10/106.65 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.10/106.65 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (179) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (180) TransformationProof (EQUIVALENT) 149.10/106.65 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Pos(Zero)))) 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero))))) 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (181) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (182) DependencyGraphProof (EQUIVALENT) 149.10/106.65 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (183) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (184) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (185) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (186) DependencyGraphProof (EQUIVALENT) 149.10/106.65 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (187) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (188) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (189) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (190) TransformationProof (EQUIVALENT) 149.10/106.65 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(x0))), Integer(Pos(Zero)))) 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (191) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(x0))), Integer(Pos(Zero))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (192) DependencyGraphProof (EQUIVALENT) 149.10/106.65 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (193) 149.10/106.65 Complex Obligation (AND) 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (194) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (195) UsableRulesProof (EQUIVALENT) 149.10/106.65 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. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (196) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (197) QReductionProof (EQUIVALENT) 149.10/106.65 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (198) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (199) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (200) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (201) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (202) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (203) TransformationProof (EQUIVALENT) 149.10/106.65 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (204) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (205) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (206) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (207) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (208) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (209) DependencyGraphProof (EQUIVALENT) 149.10/106.65 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (210) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (211) TransformationProof (EQUIVALENT) 149.10/106.65 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (212) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (213) DependencyGraphProof (EQUIVALENT) 149.10/106.65 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (214) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (215) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (216) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (217) QDPSizeChangeProof (EQUIVALENT) 149.10/106.65 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 149.10/106.65 149.10/106.65 Order:Polynomial interpretation [POLO]: 149.10/106.65 149.10/106.65 POL(False) = 1 149.10/106.65 POL(Integer(x_1)) = x_1 149.10/106.65 POL(Pos(x_1)) = x_1 149.10/106.65 POL(Succ(x_1)) = 1 + x_1 149.10/106.65 POL(Zero) = 1 149.10/106.65 POL(new_primMinusNatS0(x_1)) = 1 + x_1 149.10/106.65 POL(new_primMinusNatS1) = 1 149.10/106.65 POL(new_primModNatS1(x_1, x_2)) = x_1 149.10/106.65 149.10/106.65 149.10/106.65 149.10/106.65 149.10/106.65 From the DPs we obtained the following set of size-change graphs: 149.10/106.65 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) (allowed arguments on rhs = {1, 2}) 149.10/106.65 The graph contains the following edges 2 >= 1, 3 >= 2 149.10/106.65 149.10/106.65 149.10/106.65 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) (allowed arguments on rhs = {1, 2}) 149.10/106.65 The graph contains the following edges 2 >= 1, 3 > 2 149.10/106.65 149.10/106.65 149.10/106.65 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 149.10/106.65 The graph contains the following edges 2 >= 2, 1 >= 3 149.10/106.65 149.10/106.65 149.10/106.65 *new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) (allowed arguments on rhs = {2, 3}) 149.10/106.65 The graph contains the following edges 2 >= 2, 1 >= 3 149.10/106.65 149.10/106.65 149.10/106.65 149.10/106.65 We oriented the following set of usable rules [AAECC05,FROCOS05]. 149.10/106.65 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (218) 149.10/106.65 YES 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (219) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primMinusNatS1 -> Zero 149.10/106.65 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (220) UsableRulesProof (EQUIVALENT) 149.10/106.65 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. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (221) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (222) QReductionProof (EQUIVALENT) 149.10/106.65 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.10/106.65 149.10/106.65 new_primMinusNatS1 149.10/106.65 new_primMinusNatS0(x0) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (223) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (224) TransformationProof (EQUIVALENT) 149.10/106.65 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (225) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (226) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (227) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (228) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (229) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (230) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (231) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (232) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (233) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (234) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (235) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (236) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (237) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (238) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (239) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (240) TransformationProof (EQUIVALENT) 149.10/106.65 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (241) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (242) DependencyGraphProof (EQUIVALENT) 149.10/106.65 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (243) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.65 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.65 new_primEqInt(Pos(Zero)) 149.10/106.65 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.65 new_primModNatS1(Zero, x0) 149.10/106.65 new_primMinusNatS2(Zero, Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Zero) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Zero)) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.65 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.65 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.65 new_primEqInt(Pos(Succ(x0))) 149.10/106.65 149.10/106.65 We have to consider all minimal (P,Q,R)-chains. 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (244) TransformationProof (EQUIVALENT) 149.10/106.65 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.10/106.65 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Zero, Zero))))) 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))))) 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero))))) 149.10/106.65 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.65 149.10/106.65 149.10/106.65 ---------------------------------------- 149.10/106.65 149.10/106.65 (245) 149.10/106.65 Obligation: 149.10/106.65 Q DP problem: 149.10/106.65 The TRS P consists of the following rules: 149.10/106.65 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Zero, Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero)))) 149.10/106.65 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.65 149.10/106.65 The TRS R consists of the following rules: 149.10/106.65 149.10/106.65 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.65 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.65 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.65 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.65 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.65 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.65 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.65 new_primEqInt(Pos(Zero)) -> True 149.10/106.65 149.10/106.65 The set Q consists of the following terms: 149.10/106.65 149.10/106.65 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.65 new_primEqInt(Neg(Succ(x0))) 149.10/106.65 new_primModNatS02(x0, x1) 149.10/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.66 new_primEqInt(Pos(Zero)) 149.10/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.66 new_primModNatS1(Zero, x0) 149.10/106.66 new_primMinusNatS2(Zero, Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Zero)) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.66 new_primEqInt(Pos(Succ(x0))) 149.10/106.66 149.10/106.66 We have to consider all minimal (P,Q,R)-chains. 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (246) DependencyGraphProof (EQUIVALENT) 149.10/106.66 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (247) 149.10/106.66 Complex Obligation (AND) 149.10/106.66 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (248) 149.10/106.66 Obligation: 149.10/106.66 Q DP problem: 149.10/106.66 The TRS P consists of the following rules: 149.10/106.66 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero)))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 149.10/106.66 The TRS R consists of the following rules: 149.10/106.66 149.10/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.66 new_primEqInt(Pos(Zero)) -> True 149.10/106.66 149.10/106.66 The set Q consists of the following terms: 149.10/106.66 149.10/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Succ(x0))) 149.10/106.66 new_primModNatS02(x0, x1) 149.10/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.66 new_primEqInt(Pos(Zero)) 149.10/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.66 new_primModNatS1(Zero, x0) 149.10/106.66 new_primMinusNatS2(Zero, Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Zero)) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.66 new_primEqInt(Pos(Succ(x0))) 149.10/106.66 149.10/106.66 We have to consider all minimal (P,Q,R)-chains. 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (249) TransformationProof (EQUIVALENT) 149.10/106.66 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.10/106.66 149.10/106.66 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (250) 149.10/106.66 Obligation: 149.10/106.66 Q DP problem: 149.10/106.66 The TRS P consists of the following rules: 149.10/106.66 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.10/106.66 149.10/106.66 The TRS R consists of the following rules: 149.10/106.66 149.10/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.66 new_primEqInt(Pos(Zero)) -> True 149.10/106.66 149.10/106.66 The set Q consists of the following terms: 149.10/106.66 149.10/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Succ(x0))) 149.10/106.66 new_primModNatS02(x0, x1) 149.10/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.66 new_primEqInt(Pos(Zero)) 149.10/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.66 new_primModNatS1(Zero, x0) 149.10/106.66 new_primMinusNatS2(Zero, Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Zero)) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.66 new_primEqInt(Pos(Succ(x0))) 149.10/106.66 149.10/106.66 We have to consider all minimal (P,Q,R)-chains. 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (251) TransformationProof (EQUIVALENT) 149.10/106.66 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.66 149.10/106.66 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (252) 149.10/106.66 Obligation: 149.10/106.66 Q DP problem: 149.10/106.66 The TRS P consists of the following rules: 149.10/106.66 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.10/106.66 149.10/106.66 The TRS R consists of the following rules: 149.10/106.66 149.10/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.66 new_primEqInt(Pos(Zero)) -> True 149.10/106.66 149.10/106.66 The set Q consists of the following terms: 149.10/106.66 149.10/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Succ(x0))) 149.10/106.66 new_primModNatS02(x0, x1) 149.10/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.66 new_primEqInt(Pos(Zero)) 149.10/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.66 new_primModNatS1(Zero, x0) 149.10/106.66 new_primMinusNatS2(Zero, Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Zero)) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.66 new_primEqInt(Pos(Succ(x0))) 149.10/106.66 149.10/106.66 We have to consider all minimal (P,Q,R)-chains. 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (253) TransformationProof (EQUIVALENT) 149.10/106.66 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.10/106.66 149.10/106.66 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (254) 149.10/106.66 Obligation: 149.10/106.66 Q DP problem: 149.10/106.66 The TRS P consists of the following rules: 149.10/106.66 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.10/106.66 149.10/106.66 The TRS R consists of the following rules: 149.10/106.66 149.10/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.66 new_primEqInt(Pos(Zero)) -> True 149.10/106.66 149.10/106.66 The set Q consists of the following terms: 149.10/106.66 149.10/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Succ(x0))) 149.10/106.66 new_primModNatS02(x0, x1) 149.10/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.66 new_primEqInt(Pos(Zero)) 149.10/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.66 new_primModNatS1(Zero, x0) 149.10/106.66 new_primMinusNatS2(Zero, Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.66 new_primEqInt(Neg(Zero)) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.66 new_primEqInt(Pos(Succ(x0))) 149.10/106.66 149.10/106.66 We have to consider all minimal (P,Q,R)-chains. 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (255) QReductionProof (EQUIVALENT) 149.10/106.66 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 149.10/106.66 149.10/106.66 new_primEqInt(Neg(Succ(x0))) 149.10/106.66 new_primEqInt(Neg(Zero)) 149.10/106.66 149.10/106.66 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (256) 149.10/106.66 Obligation: 149.10/106.66 Q DP problem: 149.10/106.66 The TRS P consists of the following rules: 149.10/106.66 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.10/106.66 149.10/106.66 The TRS R consists of the following rules: 149.10/106.66 149.10/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.10/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.10/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.10/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.10/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.10/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.10/106.66 new_primEqInt(Pos(Zero)) -> True 149.10/106.66 149.10/106.66 The set Q consists of the following terms: 149.10/106.66 149.10/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.10/106.66 new_primModNatS02(x0, x1) 149.10/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.10/106.66 new_primEqInt(Pos(Zero)) 149.10/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.10/106.66 new_primModNatS1(Zero, x0) 149.10/106.66 new_primMinusNatS2(Zero, Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Zero) 149.10/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.10/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.10/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.10/106.66 new_primEqInt(Pos(Succ(x0))) 149.10/106.66 149.10/106.66 We have to consider all (P,Q,R)-chains. 149.10/106.66 ---------------------------------------- 149.10/106.66 149.10/106.66 (257) InductionCalculusProof (EQUIVALENT) 149.10/106.66 Note that final constraints are written in bold face. 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: 149.10/106.66 *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) which results in the following constraint: 149.10/106.66 149.10/106.66 (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.66 149.10/106.66 (2) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: 149.10/106.66 *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x9), Succ(Zero))))) which results in the following constraint: 149.10/106.66 149.10/106.66 (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (2) (Pos(new_primModNatS1(Succ(x8), Succ(Zero)))=x20 & new_primEqInt(x20)=False ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x20)=False which results in the following new constraint: 149.10/106.66 149.10/106.66 (3) (False=False & Pos(new_primModNatS1(Succ(x8), Succ(Zero)))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (4) (Succ(x8)=x22 & Succ(Zero)=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: 149.10/106.66 149.10/106.66 (5) (new_primModNatS01(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Zero)=Succ(x24) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) 149.10/106.66 149.10/106.66 (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Zero)=Succ(x26) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (7) (x25=x28 & x24=x29 & new_primModNatS01(x25, x24, x28, x29)=Succ(x21) & Zero=x24 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x25)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x25)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x25)))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.10/106.66 149.10/106.66 (8) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: 149.10/106.66 149.10/106.66 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Zero=x30 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x31)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x31)))))))) 149.10/106.66 149.10/106.66 (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Zero=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Zero=x34 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x35)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x35)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x35)))))))) 149.10/106.66 149.10/106.66 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Zero=x38 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x39)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x39)))))))) 149.10/106.66 149.10/106.66 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Zero=x41 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x42)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x42)))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (13) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We solved constraint (10) using rules (I), (II), (III).We simplified constraint (11) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (14) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x37))))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x37))), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x37))))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We solved constraint (12) using rules (I), (II), (III), (IV). 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: 149.10/106.66 *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x11))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x11))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: 149.10/106.66 149.10/106.66 (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x11))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.10/106.66 149.10/106.66 (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) the following chains were created: 149.10/106.66 *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero))))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x18))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: 149.10/106.66 149.10/106.66 (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (2) (Succ(x17)=x47 & Succ(Zero)=x48 & new_primModNatS1(x47, x48)=Succ(Succ(Succ(x18))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x47, x48)=Succ(Succ(Succ(x18))) which results in the following new constraints: 149.10/106.66 149.10/106.66 (3) (new_primModNatS01(x50, x49, x50, x49)=Succ(Succ(Succ(x18))) & Succ(x17)=Succ(Succ(x50)) & Succ(Zero)=Succ(x49) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))) 149.10/106.66 149.10/106.66 (4) (Succ(Zero)=Succ(Succ(Succ(x18))) & Succ(x17)=Succ(Zero) & Succ(Zero)=Succ(x51) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (5) (x50=x53 & x49=x54 & new_primModNatS01(x50, x49, x53, x54)=Succ(Succ(Succ(x18))) & Zero=x49 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x50)), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x50, x49, x53, x54)=Succ(Succ(Succ(x18))) which results in the following new constraints: 149.10/106.66 149.10/106.66 (6) (new_primModNatS02(x56, x55)=Succ(Succ(Succ(x18))) & x56=Zero & x55=Zero & Zero=x55 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x56)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x56)), Succ(Zero)))))) 149.10/106.66 149.10/106.66 (7) (new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x18))) & x60=Succ(x58) & x59=Succ(x57) & Zero=x59 & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x61))) & x60=x58 & x59=x57 & Zero=x59 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Zero)))))) 149.10/106.66 149.10/106.66 (8) (new_primModNatS02(x64, x63)=Succ(Succ(Succ(x18))) & x64=Succ(x62) & x63=Zero & Zero=x63 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Zero)))))) 149.10/106.66 149.10/106.66 (9) (Succ(Succ(x67))=Succ(Succ(Succ(x18))) & x67=Zero & x66=Succ(x65) & Zero=x66 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x67)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x67)), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (10) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We solved constraint (7) using rules (I), (II), (III).We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.10/106.66 149.10/106.66 (11) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 We solved constraint (9) using rules (I), (II), (III). 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 To summarize, we get the following constraints P__>=_ for the following pairs. 149.10/106.66 149.10/106.66 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 149.10/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.10/106.66 149.10/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.10/106.66 149.10/106.66 149.10/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.10/106.66 149.10/106.66 149.10/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x37))))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x37))), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x37))))))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.10/106.66 149.10/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 149.10/106.66 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.10/106.66 149.10/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) 149.10/106.66 149.10/106.66 149.10/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Zero)))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 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. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (258) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (259) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (260) QReductionProof (EQUIVALENT) 149.29/106.66 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 149.29/106.66 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 149.29/106.66 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (261) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (262) InductionCalculusProof (EQUIVALENT) 149.29/106.66 Note that final constraints are written in bold face. 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) the following chains were created: 149.29/106.66 *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(new_primModNatS01(Succ(x3), Succ(x2), x3, x2)))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x4), Succ(x5), x4, x5))), Integer(Pos(Succ(Succ(Succ(x5))))), Integer(Pos(Succ(Succ(Succ(x4)))))) which results in the following constraint: 149.29/106.66 149.29/106.66 (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(new_primModNatS01(Succ(x3), Succ(x2), x3, x2))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(new_primModNatS01(Succ(x3), Succ(x2), x3, x2))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.29/106.66 149.29/106.66 (2) (Succ(x3)=x12 & Succ(x2)=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(x5))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(new_primModNatS01(Succ(x3), Succ(x2), x3, x2))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(x5))) which results in the following new constraints: 149.29/106.66 149.29/106.66 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(x5))) & Succ(Zero)=x15 & Succ(Zero)=x14 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.29/106.66 149.29/106.66 (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(x5))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(x20))) & Succ(x17)=x19 & Succ(x16)=x18 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x16))))), Integer(Pos(new_primModNatS01(Succ(x17), Succ(x16), x17, x16))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x16)))))), Integer(Pos(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x16)))))), Integer(Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), Succ(x17), Succ(x16)))))) 149.29/106.66 149.29/106.66 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(x5))) & Succ(Succ(x21))=x23 & Succ(Zero)=x22 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Succ(x21)), Succ(Zero), Succ(x21), Zero))))) 149.29/106.66 149.29/106.66 (6) (Succ(Succ(x26))=Succ(Succ(Succ(x5))) & Succ(Zero)=x26 & Succ(Succ(x24))=x25 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(x5))) which results in the following new constraint: 149.29/106.66 149.29/106.66 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(x5))) & Succ(Zero)=x28 & Succ(Zero)=x27 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (4) using rule (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(x5))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x16)))))), Integer(Pos(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x16)))))), Integer(Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), Succ(x17), Succ(x16)))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(x5))) which results in the following new constraint: 149.29/106.66 149.29/106.66 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(x5))) & Succ(Succ(x21))=x47 & Succ(Zero)=x46 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Succ(x21)), Succ(Zero), Succ(x21), Zero))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (10) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 149.29/106.66 149.29/106.66 (11) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(x5))) which results in the following new constraints: 149.29/106.66 149.29/106.66 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(x5))) & Succ(Succ(Zero))=x34 & Succ(Succ(Zero))=x33 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.29/106.66 149.29/106.66 (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(x5))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(x39))) & Succ(Succ(x36))=x38 & Succ(Succ(x35))=x37 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x35)))))), Integer(Pos(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x35)))))), Integer(Pos(new_primModNatS01(Succ(Succ(x36)), Succ(Succ(x35)), Succ(x36), Succ(x35)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(Succ(x36)), Succ(Succ(x35))))))) 149.29/106.66 149.29/106.66 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(x5))) & Succ(Succ(Succ(x40)))=x42 & Succ(Succ(Zero))=x41 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x40))), Succ(Succ(Zero)), Succ(Succ(x40)), Succ(Zero)))))) 149.29/106.66 149.29/106.66 (15) (Succ(Succ(x45))=Succ(Succ(Succ(x5))) & Succ(Succ(Zero))=x45 & Succ(Succ(Succ(x43)))=x44 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x43))), Succ(Zero), Succ(Succ(x43))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (16) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (17) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(Succ(x36)), Succ(Succ(x35))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (18) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x40))), Succ(Succ(Zero)), Succ(Succ(x40)), Succ(Zero)))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (19) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x43))), Succ(Zero), Succ(Succ(x43))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.29/106.66 149.29/106.66 (20) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Succ(x21)), Succ(Zero), Succ(x21), Zero))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: 149.29/106.66 *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(new_primModNatS01(Succ(x9), Succ(x8), x9, x8)))) which results in the following constraint: 149.29/106.66 149.29/106.66 (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.29/106.66 149.29/106.66 (2) (Pos(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))=x52 & new_primEqInt(x52)=False ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52)=False which results in the following new constraint: 149.29/106.66 149.29/106.66 (3) (False=False & Pos(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 149.29/106.66 149.29/106.66 (4) (Succ(x6)=x54 & Succ(x7)=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: 149.29/106.66 149.29/106.66 (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Zero)=x57 & Succ(Zero)=x56 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.29/106.66 149.29/106.66 (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(x59)=x61 & Succ(x58)=x60 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x59))))), Integer(Pos(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x59), Succ(x58), x59, x58))), Integer(Pos(Succ(Succ(Succ(x58))))), Integer(Pos(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x59)))))), Integer(Pos(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), Succ(x59), Succ(x58)))), Integer(Pos(Succ(Succ(Succ(Succ(x58)))))), Integer(Pos(Succ(Succ(Succ(Succ(x59)))))))) 149.29/106.66 149.29/106.66 (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(x63))=x65 & Succ(Zero)=x64 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x63)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x63)), Succ(Zero), Succ(x63), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x63)))))))) 149.29/106.66 149.29/106.66 (8) (Succ(Succ(x68))=Succ(x53) & Succ(Zero)=x68 & Succ(Succ(x66))=x67 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x57, x56)=Succ(x53) which results in the following new constraint: 149.29/106.66 149.29/106.66 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Zero)=x70 & Succ(Zero)=x69 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (6) using rule (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x59)))))), Integer(Pos(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), Succ(x59), Succ(x58)))), Integer(Pos(Succ(Succ(Succ(Succ(x58)))))), Integer(Pos(Succ(Succ(Succ(Succ(x59)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x65, x64)=Succ(x53) which results in the following new constraint: 149.29/106.66 149.29/106.66 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(x63))=x89 & Succ(Zero)=x88 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x63)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x63)), Succ(Zero), Succ(x63), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x63)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (12) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.29/106.66 149.29/106.66 (13) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x61, x60, x59, x58)=Succ(x53) which results in the following new constraints: 149.29/106.66 149.29/106.66 (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Zero))=x76 & Succ(Succ(Zero))=x75 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.29/106.66 149.29/106.66 (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(x78))=x80 & Succ(Succ(x77))=x79 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x78)))))), Integer(Pos(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x78)), Succ(Succ(x77)), Succ(x78), Succ(x77)))), Integer(Pos(Succ(Succ(Succ(Succ(x77)))))), Integer(Pos(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(Succ(x78)), Succ(Succ(x77))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x77))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))))) 149.29/106.66 149.29/106.66 (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(x82)))=x84 & Succ(Succ(Zero))=x83 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x82))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x82))), Succ(Succ(Zero)), Succ(Succ(x82)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x82))))))))) 149.29/106.66 149.29/106.66 (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Zero))=x87 & Succ(Succ(Succ(x85)))=x86 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (18) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (19) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(Succ(x78)), Succ(Succ(x77))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x77))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (20) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x82))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x82))), Succ(Succ(Zero)), Succ(Succ(x82)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x82))))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 149.29/106.66 149.29/106.66 (21) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 149.29/106.66 149.29/106.66 (22) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x63)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x63)), Succ(Zero), Succ(x63), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x63)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 To summarize, we get the following constraints P__>=_ for the following pairs. 149.29/106.66 149.29/106.66 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x43))), Succ(Zero), Succ(Succ(x43))))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x35))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(Succ(x36)), Succ(Succ(x35))))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x40))), Succ(Succ(Zero)), Succ(Succ(x40)), Succ(Zero)))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Succ(x21)), Succ(Zero), Succ(x21), Zero))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(Succ(x78)), Succ(Succ(x77))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x77))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x82))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x82))), Succ(Succ(Zero)), Succ(Succ(x82)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x82))))))))) 149.29/106.66 149.29/106.66 149.29/106.66 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x63)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x63)), Succ(Zero), Succ(x63), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x63)))))))) 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 149.29/106.66 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. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (263) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (264) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.29/106.66 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.29/106.66 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.29/106.66 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.29/106.66 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.29/106.66 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.29/106.66 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.29/106.66 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.29/106.66 new_error -> error([]) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.29/106.66 new_primMinusNatS1 -> Zero 149.29/106.66 new_primEqInt(Neg(Zero)) -> True 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primRemInt(Pos(x0), Neg(Zero)) 149.29/106.66 new_primRemInt(Neg(x0), Pos(Zero)) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primMinusNatS1 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primRemInt(Neg(x0), Neg(Zero)) 149.29/106.66 new_primMinusNatS0(x0) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primRemInt(Pos(x0), Pos(Zero)) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_error 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.29/106.66 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (265) UsableRulesProof (EQUIVALENT) 149.29/106.66 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. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (266) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primMinusNatS1 -> Zero 149.29/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.29/106.66 new_primEqInt(Neg(Zero)) -> True 149.29/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primRemInt(Pos(x0), Neg(Zero)) 149.29/106.66 new_primRemInt(Neg(x0), Pos(Zero)) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primMinusNatS1 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primRemInt(Neg(x0), Neg(Zero)) 149.29/106.66 new_primMinusNatS0(x0) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primRemInt(Pos(x0), Pos(Zero)) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_error 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.29/106.66 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (267) QReductionProof (EQUIVALENT) 149.29/106.66 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.29/106.66 149.29/106.66 new_primRemInt(Pos(x0), Neg(Zero)) 149.29/106.66 new_primRemInt(Neg(x0), Pos(Zero)) 149.29/106.66 new_primRemInt(Neg(x0), Neg(Zero)) 149.29/106.66 new_primRemInt(Pos(x0), Pos(Zero)) 149.29/106.66 new_error 149.29/106.66 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.29/106.66 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.29/106.66 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.29/106.66 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.29/106.66 149.29/106.66 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (268) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primMinusNatS1 -> Zero 149.29/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.29/106.66 new_primEqInt(Neg(Zero)) -> True 149.29/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primMinusNatS1 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primMinusNatS0(x0) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (269) TransformationProof (EQUIVALENT) 149.29/106.66 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.29/106.66 149.29/106.66 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 149.29/106.66 (new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Pos(Zero)))) 149.29/106.66 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero))))) 149.29/106.66 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) 149.29/106.66 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1))))) 149.29/106.66 149.29/106.66 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (270) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primMinusNatS1 -> Zero 149.29/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.29/106.66 new_primEqInt(Neg(Zero)) -> True 149.29/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primMinusNatS1 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primMinusNatS0(x0) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (271) DependencyGraphProof (EQUIVALENT) 149.29/106.66 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (272) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primMinusNatS1 -> Zero 149.29/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.29/106.66 new_primEqInt(Neg(Zero)) -> True 149.29/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primMinusNatS1 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primMinusNatS0(x0) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (273) TransformationProof (EQUIVALENT) 149.29/106.66 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.29/106.66 149.29/106.66 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero))))) 149.29/106.66 149.29/106.66 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (274) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primMinusNatS1 -> Zero 149.29/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.29/106.66 new_primEqInt(Neg(Zero)) -> True 149.29/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primMinusNatS1 149.29/106.66 new_primEqInt(Pos(Zero)) 149.29/106.66 new_primMinusNatS0(x0) 149.29/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.29/106.66 new_primModNatS1(Zero, x0) 149.29/106.66 new_primMinusNatS2(Zero, Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Zero)) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.29/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.29/106.66 new_primEqInt(Pos(Succ(x0))) 149.29/106.66 149.29/106.66 We have to consider all minimal (P,Q,R)-chains. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (275) DependencyGraphProof (EQUIVALENT) 149.29/106.66 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.29/106.66 ---------------------------------------- 149.29/106.66 149.29/106.66 (276) 149.29/106.66 Obligation: 149.29/106.66 Q DP problem: 149.29/106.66 The TRS P consists of the following rules: 149.29/106.66 149.29/106.66 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.29/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.29/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.29/106.66 149.29/106.66 The TRS R consists of the following rules: 149.29/106.66 149.29/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.29/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.29/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.29/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.29/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.29/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.29/106.66 new_primEqInt(Pos(Zero)) -> True 149.29/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.29/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.29/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.29/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.29/106.66 new_primMinusNatS1 -> Zero 149.29/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.29/106.66 new_primEqInt(Neg(Zero)) -> True 149.29/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.29/106.66 149.29/106.66 The set Q consists of the following terms: 149.29/106.66 149.29/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.29/106.66 new_primEqInt(Neg(Succ(x0))) 149.29/106.66 new_primModNatS02(x0, x1) 149.29/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.29/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.29/106.66 new_primMinusNatS1 149.30/106.66 new_primEqInt(Pos(Zero)) 149.30/106.66 new_primMinusNatS0(x0) 149.30/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.66 new_primModNatS1(Zero, x0) 149.30/106.66 new_primMinusNatS2(Zero, Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Zero)) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.66 new_primEqInt(Pos(Succ(x0))) 149.30/106.66 149.30/106.66 We have to consider all minimal (P,Q,R)-chains. 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (277) TransformationProof (EQUIVALENT) 149.30/106.66 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.66 149.30/106.66 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero))))) 149.30/106.66 149.30/106.66 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (278) 149.30/106.66 Obligation: 149.30/106.66 Q DP problem: 149.30/106.66 The TRS P consists of the following rules: 149.30/106.66 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.66 149.30/106.66 The TRS R consists of the following rules: 149.30/106.66 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.66 new_primEqInt(Pos(Zero)) -> True 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.66 new_primMinusNatS1 -> Zero 149.30/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.66 new_primEqInt(Neg(Zero)) -> True 149.30/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.66 149.30/106.66 The set Q consists of the following terms: 149.30/106.66 149.30/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Succ(x0))) 149.30/106.66 new_primModNatS02(x0, x1) 149.30/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.66 new_primMinusNatS1 149.30/106.66 new_primEqInt(Pos(Zero)) 149.30/106.66 new_primMinusNatS0(x0) 149.30/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.66 new_primModNatS1(Zero, x0) 149.30/106.66 new_primMinusNatS2(Zero, Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Zero)) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.66 new_primEqInt(Pos(Succ(x0))) 149.30/106.66 149.30/106.66 We have to consider all minimal (P,Q,R)-chains. 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (279) TransformationProof (EQUIVALENT) 149.30/106.66 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.66 149.30/106.66 (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 149.30/106.66 (new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Neg(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Neg(Succ(x0))), Integer(Pos(Zero)))) 149.30/106.66 (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) 149.30/106.66 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 149.30/106.66 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) 149.30/106.66 149.30/106.66 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (280) 149.30/106.66 Obligation: 149.30/106.66 Q DP problem: 149.30/106.66 The TRS P consists of the following rules: 149.30/106.66 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Neg(Succ(x0))), Integer(Pos(Zero))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.66 149.30/106.66 The TRS R consists of the following rules: 149.30/106.66 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.66 new_primEqInt(Pos(Zero)) -> True 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.66 new_primMinusNatS1 -> Zero 149.30/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.66 new_primEqInt(Neg(Zero)) -> True 149.30/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.66 149.30/106.66 The set Q consists of the following terms: 149.30/106.66 149.30/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Succ(x0))) 149.30/106.66 new_primModNatS02(x0, x1) 149.30/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.66 new_primMinusNatS1 149.30/106.66 new_primEqInt(Pos(Zero)) 149.30/106.66 new_primMinusNatS0(x0) 149.30/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.66 new_primModNatS1(Zero, x0) 149.30/106.66 new_primMinusNatS2(Zero, Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Zero)) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.66 new_primEqInt(Pos(Succ(x0))) 149.30/106.66 149.30/106.66 We have to consider all minimal (P,Q,R)-chains. 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (281) DependencyGraphProof (EQUIVALENT) 149.30/106.66 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (282) 149.30/106.66 Obligation: 149.30/106.66 Q DP problem: 149.30/106.66 The TRS P consists of the following rules: 149.30/106.66 149.30/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.66 149.30/106.66 The TRS R consists of the following rules: 149.30/106.66 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.66 new_primEqInt(Pos(Zero)) -> True 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.66 new_primMinusNatS1 -> Zero 149.30/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.66 new_primEqInt(Neg(Zero)) -> True 149.30/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.66 149.30/106.66 The set Q consists of the following terms: 149.30/106.66 149.30/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Succ(x0))) 149.30/106.66 new_primModNatS02(x0, x1) 149.30/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.66 new_primMinusNatS1 149.30/106.66 new_primEqInt(Pos(Zero)) 149.30/106.66 new_primMinusNatS0(x0) 149.30/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.66 new_primModNatS1(Zero, x0) 149.30/106.66 new_primMinusNatS2(Zero, Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Zero)) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.66 new_primEqInt(Pos(Succ(x0))) 149.30/106.66 149.30/106.66 We have to consider all minimal (P,Q,R)-chains. 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (283) TransformationProof (EQUIVALENT) 149.30/106.66 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.66 149.30/106.66 (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 149.30/106.66 149.30/106.66 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (284) 149.30/106.66 Obligation: 149.30/106.66 Q DP problem: 149.30/106.66 The TRS P consists of the following rules: 149.30/106.66 149.30/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 149.30/106.66 The TRS R consists of the following rules: 149.30/106.66 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.66 new_primEqInt(Pos(Zero)) -> True 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.66 new_primMinusNatS1 -> Zero 149.30/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.66 new_primEqInt(Neg(Zero)) -> True 149.30/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.66 149.30/106.66 The set Q consists of the following terms: 149.30/106.66 149.30/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Succ(x0))) 149.30/106.66 new_primModNatS02(x0, x1) 149.30/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.66 new_primMinusNatS1 149.30/106.66 new_primEqInt(Pos(Zero)) 149.30/106.66 new_primMinusNatS0(x0) 149.30/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.66 new_primModNatS1(Zero, x0) 149.30/106.66 new_primMinusNatS2(Zero, Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Zero)) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.66 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.66 new_primEqInt(Pos(Succ(x0))) 149.30/106.66 149.30/106.66 We have to consider all minimal (P,Q,R)-chains. 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (285) TransformationProof (EQUIVALENT) 149.30/106.66 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.66 149.30/106.66 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 149.30/106.66 149.30/106.66 149.30/106.66 ---------------------------------------- 149.30/106.66 149.30/106.66 (286) 149.30/106.66 Obligation: 149.30/106.66 Q DP problem: 149.30/106.66 The TRS P consists of the following rules: 149.30/106.66 149.30/106.66 new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.66 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.66 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.66 149.30/106.66 The TRS R consists of the following rules: 149.30/106.66 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.66 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.66 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.66 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.66 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.66 new_primEqInt(Pos(Zero)) -> True 149.30/106.66 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.66 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.66 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.66 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.66 new_primMinusNatS1 -> Zero 149.30/106.66 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.66 new_primEqInt(Neg(Zero)) -> True 149.30/106.66 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.66 149.30/106.66 The set Q consists of the following terms: 149.30/106.66 149.30/106.66 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.66 new_primEqInt(Neg(Succ(x0))) 149.30/106.66 new_primModNatS02(x0, x1) 149.30/106.66 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.66 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.66 new_primMinusNatS1 149.30/106.66 new_primEqInt(Pos(Zero)) 149.30/106.66 new_primMinusNatS0(x0) 149.30/106.66 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.66 new_primModNatS1(Zero, x0) 149.30/106.66 new_primMinusNatS2(Zero, Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Zero) 149.30/106.66 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (287) TransformationProof (EQUIVALENT) 149.30/106.67 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(x0))), Integer(Neg(Zero)))) 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (288) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(x0))), Integer(Neg(Zero))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (289) DependencyGraphProof (EQUIVALENT) 149.30/106.67 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (290) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (291) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (292) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (293) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (294) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (295) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (296) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (297) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (298) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (299) DependencyGraphProof (EQUIVALENT) 149.30/106.67 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (300) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (301) TransformationProof (EQUIVALENT) 149.30/106.67 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Zero, Zero))))) 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))))) 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero))))) 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (302) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Zero, Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (303) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Zero, Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (304) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (305) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS02(Succ(x2), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (306) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (307) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (308) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (309) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (310) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (311) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Zero, Succ(Zero)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (312) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (313) DependencyGraphProof (EQUIVALENT) 149.30/106.67 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (314) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (315) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (316) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (317) TransformationProof (EQUIVALENT) 149.30/106.67 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Neg(Zero)))) 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero))))) 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (318) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (319) DependencyGraphProof (EQUIVALENT) 149.30/106.67 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (320) 149.30/106.67 Complex Obligation (AND) 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (321) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.67 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.67 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.67 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.67 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primEqInt(Neg(Zero)) -> True 149.30/106.67 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (322) UsableRulesProof (EQUIVALENT) 149.30/106.67 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. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (323) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (324) QReductionProof (EQUIVALENT) 149.30/106.67 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.30/106.67 149.30/106.67 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.67 new_primModNatS02(x0, x1) 149.30/106.67 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.67 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.67 new_primMinusNatS2(Zero, Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.67 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.67 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (325) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (326) TransformationProof (EQUIVALENT) 149.30/106.67 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (327) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (328) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (329) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (330) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (331) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (332) DependencyGraphProof (EQUIVALENT) 149.30/106.67 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (333) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (334) TransformationProof (EQUIVALENT) 149.30/106.67 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 149.30/106.67 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (335) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (336) DependencyGraphProof (EQUIVALENT) 149.30/106.67 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (337) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (338) TransformationProof (EQUIVALENT) 149.30/106.67 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.67 149.30/106.67 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 149.30/106.67 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (339) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.67 The TRS P consists of the following rules: 149.30/106.67 149.30/106.67 new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 149.30/106.67 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 149.30/106.67 149.30/106.67 The TRS R consists of the following rules: 149.30/106.67 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.67 new_primEqInt(Pos(Zero)) -> True 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 149.30/106.67 The set Q consists of the following terms: 149.30/106.67 149.30/106.67 new_primEqInt(Neg(Succ(x0))) 149.30/106.67 new_primMinusNatS1 149.30/106.67 new_primEqInt(Pos(Zero)) 149.30/106.67 new_primMinusNatS0(x0) 149.30/106.67 new_primModNatS1(Zero, x0) 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) 149.30/106.67 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.67 new_primEqInt(Neg(Zero)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.67 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.67 new_primEqInt(Pos(Succ(x0))) 149.30/106.67 149.30/106.67 We have to consider all minimal (P,Q,R)-chains. 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (340) QDPSizeChangeProof (EQUIVALENT) 149.30/106.67 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 149.30/106.67 149.30/106.67 Order:Polynomial interpretation [POLO]: 149.30/106.67 149.30/106.67 POL(False) = 1 149.30/106.67 POL(Integer(x_1)) = x_1 149.30/106.67 POL(Neg(x_1)) = 1 149.30/106.67 POL(Pos(x_1)) = x_1 149.30/106.67 POL(Succ(x_1)) = 1 + x_1 149.30/106.67 POL(Zero) = 1 149.30/106.67 POL(new_primMinusNatS0(x_1)) = 1 + x_1 149.30/106.67 POL(new_primMinusNatS1) = 1 149.30/106.67 POL(new_primModNatS1(x_1, x_2)) = x_1 149.30/106.67 149.30/106.67 149.30/106.67 149.30/106.67 149.30/106.67 From the DPs we obtained the following set of size-change graphs: 149.30/106.67 *new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) (allowed arguments on rhs = {2, 3}) 149.30/106.67 The graph contains the following edges 2 >= 2, 1 >= 3 149.30/106.67 149.30/106.67 149.30/106.67 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 149.30/106.67 The graph contains the following edges 2 >= 2, 1 >= 3 149.30/106.67 149.30/106.67 149.30/106.67 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) (allowed arguments on rhs = {1, 2}) 149.30/106.67 The graph contains the following edges 2 >= 1, 3 >= 2 149.30/106.67 149.30/106.67 149.30/106.67 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) (allowed arguments on rhs = {1, 2}) 149.30/106.67 The graph contains the following edges 2 >= 1, 3 > 2 149.30/106.67 149.30/106.67 149.30/106.67 149.30/106.67 We oriented the following set of usable rules [AAECC05,FROCOS05]. 149.30/106.67 149.30/106.67 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.67 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.67 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.67 new_primMinusNatS1 -> Zero 149.30/106.67 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (341) 149.30/106.67 YES 149.30/106.67 149.30/106.67 ---------------------------------------- 149.30/106.67 149.30/106.67 (342) 149.30/106.67 Obligation: 149.30/106.67 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (343) UsableRulesProof (EQUIVALENT) 149.30/106.68 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. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (344) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (345) QReductionProof (EQUIVALENT) 149.30/106.68 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (346) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (347) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (348) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (349) TransformationProof (EQUIVALENT) 149.30/106.68 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (350) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (351) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (352) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (353) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (354) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (355) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (356) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (357) DependencyGraphProof (EQUIVALENT) 149.30/106.68 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (358) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (359) TransformationProof (EQUIVALENT) 149.30/106.68 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) 149.30/106.68 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (360) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (361) DependencyGraphProof (EQUIVALENT) 149.30/106.68 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (362) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (363) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (364) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (365) QDPSizeChangeProof (EQUIVALENT) 149.30/106.68 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 149.30/106.68 149.30/106.68 Order:Polynomial interpretation [POLO]: 149.30/106.68 149.30/106.68 POL(False) = 1 149.30/106.68 POL(Integer(x_1)) = x_1 149.30/106.68 POL(Neg(x_1)) = x_1 149.30/106.68 POL(Pos(x_1)) = 1 149.30/106.68 POL(Succ(x_1)) = 1 + x_1 149.30/106.68 POL(Zero) = 1 149.30/106.68 POL(new_primMinusNatS0(x_1)) = 1 + x_1 149.30/106.68 POL(new_primMinusNatS1) = 1 149.30/106.68 POL(new_primModNatS1(x_1, x_2)) = x_1 149.30/106.68 149.30/106.68 149.30/106.68 149.30/106.68 149.30/106.68 From the DPs we obtained the following set of size-change graphs: 149.30/106.68 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) (allowed arguments on rhs = {1, 2}) 149.30/106.68 The graph contains the following edges 2 >= 1, 3 > 2 149.30/106.68 149.30/106.68 149.30/106.68 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) (allowed arguments on rhs = {1, 2}) 149.30/106.68 The graph contains the following edges 2 >= 1, 3 >= 2 149.30/106.68 149.30/106.68 149.30/106.68 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 149.30/106.68 The graph contains the following edges 2 >= 2, 1 >= 3 149.30/106.68 149.30/106.68 149.30/106.68 *new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) (allowed arguments on rhs = {2, 3}) 149.30/106.68 The graph contains the following edges 2 >= 2, 1 >= 3 149.30/106.68 149.30/106.68 149.30/106.68 149.30/106.68 We oriented the following set of usable rules [AAECC05,FROCOS05]. 149.30/106.68 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (366) 149.30/106.68 YES 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (367) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primMinusNatS1 -> Zero 149.30/106.68 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (368) UsableRulesProof (EQUIVALENT) 149.30/106.68 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. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (369) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (370) QReductionProof (EQUIVALENT) 149.30/106.68 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.30/106.68 149.30/106.68 new_primMinusNatS1 149.30/106.68 new_primMinusNatS0(x0) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (371) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (372) TransformationProof (EQUIVALENT) 149.30/106.68 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (373) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (374) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (375) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (376) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (377) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (378) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (379) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (380) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (381) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (382) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (383) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (384) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (385) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (386) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (387) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (388) TransformationProof (EQUIVALENT) 149.30/106.68 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (389) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (390) DependencyGraphProof (EQUIVALENT) 149.30/106.68 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (391) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (392) TransformationProof (EQUIVALENT) 149.30/106.68 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.68 149.30/106.68 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Zero, Zero))))) 149.30/106.68 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))))) 149.30/106.68 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero))))) 149.30/106.68 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.68 149.30/106.68 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (393) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Zero, Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Zero) 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Zero)) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.68 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.68 new_primEqInt(Pos(Succ(x0))) 149.30/106.68 149.30/106.68 We have to consider all minimal (P,Q,R)-chains. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (394) DependencyGraphProof (EQUIVALENT) 149.30/106.68 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.68 ---------------------------------------- 149.30/106.68 149.30/106.68 (395) 149.30/106.68 Obligation: 149.30/106.68 Q DP problem: 149.30/106.68 The TRS P consists of the following rules: 149.30/106.68 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero)))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.68 149.30/106.68 The TRS R consists of the following rules: 149.30/106.68 149.30/106.68 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.68 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.68 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.68 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.68 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.68 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.68 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.68 new_primEqInt(Pos(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Zero)) -> True 149.30/106.68 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.68 149.30/106.68 The set Q consists of the following terms: 149.30/106.68 149.30/106.68 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.68 new_primEqInt(Neg(Succ(x0))) 149.30/106.68 new_primModNatS02(x0, x1) 149.30/106.68 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.68 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.68 new_primEqInt(Pos(Zero)) 149.30/106.68 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.68 new_primModNatS1(Zero, x0) 149.30/106.68 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (396) TransformationProof (EQUIVALENT) 149.30/106.69 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS02(Succ(x2), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.69 149.30/106.69 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (397) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (398) TransformationProof (EQUIVALENT) 149.30/106.69 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.69 149.30/106.69 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (399) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (400) TransformationProof (EQUIVALENT) 149.30/106.69 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.69 149.30/106.69 (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (401) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (402) TransformationProof (EQUIVALENT) 149.30/106.69 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.69 149.30/106.69 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (403) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (404) DependencyGraphProof (EQUIVALENT) 149.30/106.69 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (405) 149.30/106.69 Complex Obligation (AND) 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (406) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (407) UsableRulesProof (EQUIVALENT) 149.30/106.69 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. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (408) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (409) TransformationProof (EQUIVALENT) 149.30/106.69 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.69 149.30/106.69 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (410) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (411) TransformationProof (EQUIVALENT) 149.30/106.69 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.69 149.30/106.69 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (412) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (413) TransformationProof (EQUIVALENT) 149.30/106.69 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 149.30/106.69 149.30/106.69 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (414) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (415) InductionCalculusProof (EQUIVALENT) 149.30/106.69 Note that final constraints are written in bold face. 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x9))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x9), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x9)))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x9))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero))))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x11))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (Succ(x10)=x20 & Succ(Zero)=x21 & new_primModNatS1(x20, x21)=Succ(Succ(Succ(x11))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x20, x21)=Succ(Succ(Succ(x11))) which results in the following new constraints: 149.30/106.69 149.30/106.69 (3) (Succ(Zero)=Succ(Succ(Succ(x11))) & Succ(x10)=Succ(Zero) & Succ(Zero)=Succ(x22) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (4) (new_primModNatS01(x24, x23, x24, x23)=Succ(Succ(Succ(x11))) & Succ(x10)=Succ(Succ(x24)) & Succ(Zero)=Succ(x23) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (5) (x24=x26 & x23=x27 & new_primModNatS01(x24, x23, x26, x27)=Succ(Succ(Succ(x11))) & Zero=x23 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x24)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x24)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x24, x23, x26, x27)=Succ(Succ(Succ(x11))) which results in the following new constraints: 149.30/106.69 149.30/106.69 (6) (new_primModNatS02(x29, x28)=Succ(Succ(Succ(x11))) & x29=Zero & x28=Zero & Zero=x28 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x29)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x29)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (7) (new_primModNatS01(x33, x32, x31, x30)=Succ(Succ(Succ(x11))) & x33=Succ(x31) & x32=Succ(x30) & Zero=x32 & (\/x34:new_primModNatS01(x33, x32, x31, x30)=Succ(Succ(Succ(x34))) & x33=x31 & x32=x30 & Zero=x32 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x33)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x33)), Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x33)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x33)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (8) (new_primModNatS02(x37, x36)=Succ(Succ(Succ(x11))) & x37=Succ(x35) & x36=Zero & Zero=x36 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x37)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (9) (Succ(Succ(x40))=Succ(Succ(Succ(x11))) & x40=Zero & x39=Succ(x38) & Zero=x39 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x40)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x40)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (10) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (7) using rules (I), (II), (III).We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (11) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (9) using rules (I), (II), (III). 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17)))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x18), Succ(Zero))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (Pos(new_primModNatS1(Succ(x17), Succ(Zero)))=x45 & new_primEqInt(x45)=False ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x45)=False which results in the following new constraint: 149.30/106.69 149.30/106.69 (3) (False=False & Pos(new_primModNatS1(Succ(x17), Succ(Zero)))=Pos(Succ(x46)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (4) (Succ(x17)=x47 & Succ(Zero)=x48 & new_primModNatS1(x47, x48)=Succ(x46) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x47, x48)=Succ(x46) which results in the following new constraints: 149.30/106.69 149.30/106.69 (5) (Succ(Zero)=Succ(x46) & Succ(x17)=Succ(Zero) & Succ(Zero)=Succ(x49) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) 149.30/106.69 149.30/106.69 (6) (new_primModNatS01(x51, x50, x51, x50)=Succ(x46) & Succ(x17)=Succ(Succ(x51)) & Succ(Zero)=Succ(x50) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (7) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (8) (x51=x53 & x50=x54 & new_primModNatS01(x51, x50, x53, x54)=Succ(x46) & Zero=x50 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x51)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x51)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x51)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x51, x50, x53, x54)=Succ(x46) which results in the following new constraints: 149.30/106.69 149.30/106.69 (9) (new_primModNatS02(x56, x55)=Succ(x46) & x56=Zero & x55=Zero & Zero=x55 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x56)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x56)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x56)))))))) 149.30/106.69 149.30/106.69 (10) (new_primModNatS01(x60, x59, x58, x57)=Succ(x46) & x60=Succ(x58) & x59=Succ(x57) & Zero=x59 & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(x61) & x60=x58 & x59=x57 & Zero=x59 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x60)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x60)))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x60)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x60)))))))) 149.30/106.69 149.30/106.69 (11) (new_primModNatS02(x64, x63)=Succ(x46) & x64=Succ(x62) & x63=Zero & Zero=x63 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x64)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x64)))))))) 149.30/106.69 149.30/106.69 (12) (Succ(Succ(x67))=Succ(x46) & x67=Zero & x66=Succ(x65) & Zero=x66 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x67)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x67)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x67)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (13) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (10) using rules (I), (II), (III).We simplified constraint (11) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (14) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x62))))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x62))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (12) using rules (I), (II), (III), (IV). 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 To summarize, we get the following constraints P__>=_ for the following pairs. 149.30/106.69 149.30/106.69 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x62))))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x62))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 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. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (416) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (417) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (418) UsableRulesProof (EQUIVALENT) 149.30/106.69 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. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (419) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (420) TransformationProof (EQUIVALENT) 149.30/106.69 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.69 149.30/106.69 (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (421) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (422) UsableRulesProof (EQUIVALENT) 149.30/106.69 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. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (423) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (424) InductionCalculusProof (EQUIVALENT) 149.30/106.69 Note that final constraints are written in bold face. 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero))))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x4)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x4)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (Succ(x3)=x20 & Succ(Zero)=x21 & new_primModNatS1(x20, x21)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x20, x21)=Succ(Succ(Succ(x4))) which results in the following new constraints: 149.30/106.69 149.30/106.69 (3) (Succ(Zero)=Succ(Succ(Succ(x4))) & Succ(x3)=Succ(Zero) & Succ(Zero)=Succ(x22) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (4) (new_primModNatS01(x24, x23, x24, x23)=Succ(Succ(Succ(x4))) & Succ(x3)=Succ(Succ(x24)) & Succ(Zero)=Succ(x23) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (5) (x24=x26 & x23=x27 & new_primModNatS01(x24, x23, x26, x27)=Succ(Succ(Succ(x4))) & Zero=x23 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x24)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x24)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x24, x23, x26, x27)=Succ(Succ(Succ(x4))) which results in the following new constraints: 149.30/106.69 149.30/106.69 (6) (new_primModNatS02(x29, x28)=Succ(Succ(Succ(x4))) & x29=Zero & x28=Zero & Zero=x28 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x29)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x29)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (7) (new_primModNatS01(x33, x32, x31, x30)=Succ(Succ(Succ(x4))) & x33=Succ(x31) & x32=Succ(x30) & Zero=x32 & (\/x34:new_primModNatS01(x33, x32, x31, x30)=Succ(Succ(Succ(x34))) & x33=x31 & x32=x30 & Zero=x32 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x33)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x33)), Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x33)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x33)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (8) (new_primModNatS02(x37, x36)=Succ(Succ(Succ(x4))) & x37=Succ(x35) & x36=Zero & Zero=x36 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (9) (Succ(Succ(x40))=Succ(Succ(Succ(x4))) & x40=Zero & x39=Succ(x38) & Zero=x39 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x40)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x40)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (10) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (7) using rules (I), (II), (III).We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (11) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (9) using rules (I), (II), (III). 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8)))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10)))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x11), Succ(Zero))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (Neg(new_primModNatS1(Succ(x10), Succ(Zero)))=x45 & new_primEqInt(x45)=False ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x45)=False which results in the following new constraint: 149.30/106.69 149.30/106.69 (3) (False=False & Neg(new_primModNatS1(Succ(x10), Succ(Zero)))=Neg(Succ(x46)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (4) (Succ(x10)=x47 & Succ(Zero)=x48 & new_primModNatS1(x47, x48)=Succ(x46) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x47, x48)=Succ(x46) which results in the following new constraints: 149.30/106.69 149.30/106.69 (5) (Succ(Zero)=Succ(x46) & Succ(x10)=Succ(Zero) & Succ(Zero)=Succ(x49) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) 149.30/106.69 149.30/106.69 (6) (new_primModNatS01(x51, x50, x51, x50)=Succ(x46) & Succ(x10)=Succ(Succ(x51)) & Succ(Zero)=Succ(x50) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (7) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (8) (x51=x53 & x50=x54 & new_primModNatS01(x51, x50, x53, x54)=Succ(x46) & Zero=x50 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x51)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x51)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x51)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x51, x50, x53, x54)=Succ(x46) which results in the following new constraints: 149.30/106.69 149.30/106.69 (9) (new_primModNatS02(x56, x55)=Succ(x46) & x56=Zero & x55=Zero & Zero=x55 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x56)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x56)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x56)))))))) 149.30/106.69 149.30/106.69 (10) (new_primModNatS01(x60, x59, x58, x57)=Succ(x46) & x60=Succ(x58) & x59=Succ(x57) & Zero=x59 & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(x61) & x60=x58 & x59=x57 & Zero=x59 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x60)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x60)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x60)))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x60)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x60)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x60)))))))) 149.30/106.69 149.30/106.69 (11) (new_primModNatS02(x64, x63)=Succ(x46) & x64=Succ(x62) & x63=Zero & Zero=x63 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x64)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x64)))))))) 149.30/106.69 149.30/106.69 (12) (Succ(Succ(x67))=Succ(x46) & x67=Zero & x66=Succ(x65) & Zero=x66 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x67)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x67)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x67)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (13) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (10) using rules (I), (II), (III).We simplified constraint (11) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (14) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x62))))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x62))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (12) using rules (I), (II), (III), (IV). 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x17))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x17))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x17))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x16))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x16))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 To summarize, we get the following constraints P__>=_ for the following pairs. 149.30/106.69 149.30/106.69 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x35))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x62))))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x62))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x16))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 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. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (425) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (426) 149.30/106.69 Obligation: 149.30/106.69 Q DP problem: 149.30/106.69 The TRS P consists of the following rules: 149.30/106.69 149.30/106.69 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 149.30/106.69 The TRS R consists of the following rules: 149.30/106.69 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.69 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.69 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.69 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.69 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.69 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.69 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.69 new_primEqInt(Pos(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Zero)) -> True 149.30/106.69 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.69 149.30/106.69 The set Q consists of the following terms: 149.30/106.69 149.30/106.69 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Succ(x0))) 149.30/106.69 new_primModNatS02(x0, x1) 149.30/106.69 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.69 new_primEqInt(Pos(Zero)) 149.30/106.69 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.69 new_primModNatS1(Zero, x0) 149.30/106.69 new_primMinusNatS2(Zero, Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Zero) 149.30/106.69 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.69 new_primEqInt(Neg(Zero)) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.69 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.69 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.69 new_primEqInt(Pos(Succ(x0))) 149.30/106.69 149.30/106.69 We have to consider all minimal (P,Q,R)-chains. 149.30/106.69 ---------------------------------------- 149.30/106.69 149.30/106.69 (427) InductionCalculusProof (EQUIVALENT) 149.30/106.69 Note that final constraints are written in bold face. 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Pos(new_primModNatS01(Succ(x5), Succ(x4), x5, x4)))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))=x40 & new_primEqInt(x40)=False ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x40)=False which results in the following new constraints: 149.30/106.69 149.30/106.69 (3) (False=False & Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))=Pos(Succ(x41)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 149.30/106.69 (4) (False=False & Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))=Neg(Succ(x42)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (5) (Succ(x2)=x43 & Succ(x3)=x44 & new_primModNatS01(x43, x44, x2, x3)=Succ(x41) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x43, x44, x2, x3)=Succ(x41) which results in the following new constraints: 149.30/106.69 149.30/106.69 (6) (new_primModNatS02(x46, x45)=Succ(x41) & Succ(Zero)=x46 & Succ(Zero)=x45 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 (7) (new_primModNatS01(x50, x49, x48, x47)=Succ(x41) & Succ(Succ(x48))=x50 & Succ(Succ(x47))=x49 & (\/x51:new_primModNatS01(x50, x49, x48, x47)=Succ(x51) & Succ(x48)=x50 & Succ(x47)=x49 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x48))))), Integer(Neg(Succ(Succ(Succ(x47))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x48), Succ(x47), x48, x47))), Integer(Neg(Succ(Succ(Succ(x47))))), Integer(Pos(Succ(Succ(Succ(x48))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x48)))))), Integer(Neg(Succ(Succ(Succ(Succ(x47)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x48)), Succ(Succ(x47)), Succ(x48), Succ(x47)))), Integer(Neg(Succ(Succ(Succ(Succ(x47)))))), Integer(Pos(Succ(Succ(Succ(Succ(x48)))))))) 149.30/106.69 149.30/106.69 (8) (new_primModNatS02(x54, x53)=Succ(x41) & Succ(Succ(x52))=x54 & Succ(Zero)=x53 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x52)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x52)), Succ(Zero), Succ(x52), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x52)))))))) 149.30/106.69 149.30/106.69 (9) (Succ(Succ(x57))=Succ(x41) & Succ(Zero)=x57 & Succ(Succ(x55))=x56 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x55)), Zero, Succ(x55)))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x46, x45)=Succ(x41) which results in the following new constraint: 149.30/106.69 149.30/106.69 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x59), Succ(x58)), Succ(x58))=Succ(x41) & Succ(Zero)=x59 & Succ(Zero)=x58 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (7) using rule (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (11) (new_primModNatS01(x50, x49, x48, x47)=Succ(x41) & Succ(Succ(x48))=x50 & Succ(Succ(x47))=x49 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x48)))))), Integer(Neg(Succ(Succ(Succ(Succ(x47)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x48)), Succ(Succ(x47)), Succ(x48), Succ(x47)))), Integer(Neg(Succ(Succ(Succ(Succ(x47)))))), Integer(Pos(Succ(Succ(Succ(Succ(x48)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x54, x53)=Succ(x41) which results in the following new constraint: 149.30/106.69 149.30/106.69 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x78), Succ(x77)), Succ(x77))=Succ(x41) & Succ(Succ(x52))=x78 & Succ(Zero)=x77 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x52)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x52)), Succ(Zero), Succ(x52), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x52)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (13) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x55)), Zero, Succ(x55)))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (14) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x50, x49, x48, x47)=Succ(x41) which results in the following new constraints: 149.30/106.69 149.30/106.69 (15) (new_primModNatS02(x65, x64)=Succ(x41) & Succ(Succ(Zero))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 (16) (new_primModNatS01(x69, x68, x67, x66)=Succ(x41) & Succ(Succ(Succ(x67)))=x69 & Succ(Succ(Succ(x66)))=x68 & (\/x70:new_primModNatS01(x69, x68, x67, x66)=Succ(x70) & Succ(Succ(x67))=x69 & Succ(Succ(x66))=x68 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x67)))))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x67)), Succ(Succ(x66)), Succ(x67), Succ(x66)))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))), Integer(Pos(Succ(Succ(Succ(Succ(x67)))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x67))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x66))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x67))), Succ(Succ(Succ(x66))), Succ(Succ(x67)), Succ(Succ(x66))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x66))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x67))))))))) 149.30/106.69 149.30/106.69 (17) (new_primModNatS02(x73, x72)=Succ(x41) & Succ(Succ(Succ(x71)))=x73 & Succ(Succ(Zero))=x72 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x71))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x71))), Succ(Succ(Zero)), Succ(Succ(x71)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x71))))))))) 149.30/106.69 149.30/106.69 (18) (Succ(Succ(x76))=Succ(x41) & Succ(Succ(Zero))=x76 & Succ(Succ(Succ(x74)))=x75 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x74))), Succ(Zero), Succ(Succ(x74))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (19) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (20) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x67))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x66))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x67))), Succ(Succ(Succ(x66))), Succ(Succ(x67)), Succ(Succ(x66))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x66))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x67))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (21) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x71))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x71))), Succ(Succ(Zero)), Succ(Succ(x71)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x71))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (22) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x74))), Succ(Zero), Succ(Succ(x74))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (23) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x52)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x52)), Succ(Zero), Succ(x52), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x52)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(new_primModNatS01(Succ(x15), Succ(x14), x15, x14)))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x16), Succ(x17), x16, x17))), Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Succ(x16)))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(new_primModNatS01(Succ(x15), Succ(x14), x15, x14))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(new_primModNatS01(Succ(x15), Succ(x14), x15, x14))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (Succ(x15)=x83 & Succ(x14)=x84 & new_primModNatS01(x83, x84, x15, x14)=Succ(Succ(Succ(x17))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(new_primModNatS01(Succ(x15), Succ(x14), x15, x14))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x83, x84, x15, x14)=Succ(Succ(Succ(x17))) which results in the following new constraints: 149.30/106.69 149.30/106.69 (3) (new_primModNatS02(x86, x85)=Succ(Succ(Succ(x17))) & Succ(Zero)=x86 & Succ(Zero)=x85 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.30/106.69 149.30/106.69 (4) (new_primModNatS01(x90, x89, x88, x87)=Succ(Succ(Succ(x17))) & Succ(Succ(x88))=x90 & Succ(Succ(x87))=x89 & (\/x91:new_primModNatS01(x90, x89, x88, x87)=Succ(Succ(Succ(x91))) & Succ(x88)=x90 & Succ(x87)=x89 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x87))))), Integer(Pos(Succ(Succ(Succ(x88))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x87))))), Integer(Pos(new_primModNatS01(Succ(x88), Succ(x87), x88, x87))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x87)))))), Integer(Pos(Succ(Succ(Succ(Succ(x88)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x87)))))), Integer(Pos(new_primModNatS01(Succ(Succ(x88)), Succ(Succ(x87)), Succ(x88), Succ(x87)))))) 149.30/106.69 149.30/106.69 (5) (new_primModNatS02(x94, x93)=Succ(Succ(Succ(x17))) & Succ(Succ(x92))=x94 & Succ(Zero)=x93 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x92)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Succ(x92)), Succ(Zero), Succ(x92), Zero))))) 149.30/106.69 149.30/106.69 (6) (Succ(Succ(x97))=Succ(Succ(Succ(x17))) & Succ(Zero)=x97 & Succ(Succ(x95))=x96 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x95)), Zero, Succ(x95)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x86, x85)=Succ(Succ(Succ(x17))) which results in the following new constraint: 149.30/106.69 149.30/106.69 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x99), Succ(x98)), Succ(x98))=Succ(Succ(Succ(x17))) & Succ(Zero)=x99 & Succ(Zero)=x98 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (4) using rule (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (8) (new_primModNatS01(x90, x89, x88, x87)=Succ(Succ(Succ(x17))) & Succ(Succ(x88))=x90 & Succ(Succ(x87))=x89 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x87)))))), Integer(Pos(Succ(Succ(Succ(Succ(x88)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x87)))))), Integer(Pos(new_primModNatS01(Succ(Succ(x88)), Succ(Succ(x87)), Succ(x88), Succ(x87)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x94, x93)=Succ(Succ(Succ(x17))) which results in the following new constraint: 149.30/106.69 149.30/106.69 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x118), Succ(x117)), Succ(x117))=Succ(Succ(Succ(x17))) & Succ(Succ(x92))=x118 & Succ(Zero)=x117 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x92)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Succ(x92)), Succ(Zero), Succ(x92), Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (10) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x95)), Zero, Succ(x95)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (11) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x90, x89, x88, x87)=Succ(Succ(Succ(x17))) which results in the following new constraints: 149.30/106.69 149.30/106.69 (12) (new_primModNatS02(x105, x104)=Succ(Succ(Succ(x17))) & Succ(Succ(Zero))=x105 & Succ(Succ(Zero))=x104 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (13) (new_primModNatS01(x109, x108, x107, x106)=Succ(Succ(Succ(x17))) & Succ(Succ(Succ(x107)))=x109 & Succ(Succ(Succ(x106)))=x108 & (\/x110:new_primModNatS01(x109, x108, x107, x106)=Succ(Succ(Succ(x110))) & Succ(Succ(x107))=x109 & Succ(Succ(x106))=x108 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x106)))))), Integer(Pos(Succ(Succ(Succ(Succ(x107)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x106)))))), Integer(Pos(new_primModNatS01(Succ(Succ(x107)), Succ(Succ(x106)), Succ(x107), Succ(x106)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x106))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x106))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x107))), Succ(Succ(Succ(x106))), Succ(Succ(x107)), Succ(Succ(x106))))))) 149.30/106.69 149.30/106.69 (14) (new_primModNatS02(x113, x112)=Succ(Succ(Succ(x17))) & Succ(Succ(Succ(x111)))=x113 & Succ(Succ(Zero))=x112 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x111))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x111))), Succ(Succ(Zero)), Succ(Succ(x111)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (15) (Succ(Succ(x116))=Succ(Succ(Succ(x17))) & Succ(Succ(Zero))=x116 & Succ(Succ(Succ(x114)))=x115 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x114))), Succ(Zero), Succ(Succ(x114))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (16) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (17) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x106))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x106))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x107))), Succ(Succ(Succ(x106))), Succ(Succ(x107)), Succ(Succ(x106))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (18) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x111))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x111))), Succ(Succ(Zero)), Succ(Succ(x111)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (19) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x114))), Succ(Zero), Succ(Succ(x114))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (20) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x92)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Succ(x92)), Succ(Zero), Succ(x92), Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26)))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x28))))), Integer(Neg(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x28))))), Integer(Neg(new_primModNatS01(Succ(x29), Succ(x28), x29, x28)))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x28))))), Integer(Neg(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))=x123 & new_primEqInt(x123)=False ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x123)=False which results in the following new constraints: 149.30/106.69 149.30/106.69 (3) (False=False & Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))=Pos(Succ(x124)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) 149.30/106.69 149.30/106.69 (4) (False=False & Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))=Neg(Succ(x125)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (5) (Succ(x26)=x126 & Succ(x27)=x127 & new_primModNatS01(x126, x127, x26, x27)=Succ(x125) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x126, x127, x26, x27)=Succ(x125) which results in the following new constraints: 149.30/106.69 149.30/106.69 (6) (new_primModNatS02(x129, x128)=Succ(x125) & Succ(Zero)=x129 & Succ(Zero)=x128 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 (7) (new_primModNatS01(x133, x132, x131, x130)=Succ(x125) & Succ(Succ(x131))=x133 & Succ(Succ(x130))=x132 & (\/x134:new_primModNatS01(x133, x132, x131, x130)=Succ(x134) & Succ(x131)=x133 & Succ(x130)=x132 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x131))))), Integer(Pos(Succ(Succ(Succ(x130))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x131), Succ(x130), x131, x130))), Integer(Pos(Succ(Succ(Succ(x130))))), Integer(Neg(Succ(Succ(Succ(x131))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x131)))))), Integer(Pos(Succ(Succ(Succ(Succ(x130)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x131)), Succ(Succ(x130)), Succ(x131), Succ(x130)))), Integer(Pos(Succ(Succ(Succ(Succ(x130)))))), Integer(Neg(Succ(Succ(Succ(Succ(x131)))))))) 149.30/106.69 149.30/106.69 (8) (new_primModNatS02(x137, x136)=Succ(x125) & Succ(Succ(x135))=x137 & Succ(Zero)=x136 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x135)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x135)), Succ(Zero), Succ(x135), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x135)))))))) 149.30/106.69 149.30/106.69 (9) (Succ(Succ(x140))=Succ(x125) & Succ(Zero)=x140 & Succ(Succ(x138))=x139 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x138)), Zero, Succ(x138)))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x129, x128)=Succ(x125) which results in the following new constraint: 149.30/106.69 149.30/106.69 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x142), Succ(x141)), Succ(x141))=Succ(x125) & Succ(Zero)=x142 & Succ(Zero)=x141 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (7) using rule (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (11) (new_primModNatS01(x133, x132, x131, x130)=Succ(x125) & Succ(Succ(x131))=x133 & Succ(Succ(x130))=x132 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x131)))))), Integer(Pos(Succ(Succ(Succ(Succ(x130)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x131)), Succ(Succ(x130)), Succ(x131), Succ(x130)))), Integer(Pos(Succ(Succ(Succ(Succ(x130)))))), Integer(Neg(Succ(Succ(Succ(Succ(x131)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x137, x136)=Succ(x125) which results in the following new constraint: 149.30/106.69 149.30/106.69 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x161), Succ(x160)), Succ(x160))=Succ(x125) & Succ(Succ(x135))=x161 & Succ(Zero)=x160 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x135)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x135)), Succ(Zero), Succ(x135), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x135)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (13) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x138)), Zero, Succ(x138)))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (14) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x133, x132, x131, x130)=Succ(x125) which results in the following new constraints: 149.30/106.69 149.30/106.69 (15) (new_primModNatS02(x148, x147)=Succ(x125) & Succ(Succ(Zero))=x148 & Succ(Succ(Zero))=x147 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 (16) (new_primModNatS01(x152, x151, x150, x149)=Succ(x125) & Succ(Succ(Succ(x150)))=x152 & Succ(Succ(Succ(x149)))=x151 & (\/x153:new_primModNatS01(x152, x151, x150, x149)=Succ(x153) & Succ(Succ(x150))=x152 & Succ(Succ(x149))=x151 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x150)))))), Integer(Pos(Succ(Succ(Succ(Succ(x149)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x150)), Succ(Succ(x149)), Succ(x150), Succ(x149)))), Integer(Pos(Succ(Succ(Succ(Succ(x149)))))), Integer(Neg(Succ(Succ(Succ(Succ(x150)))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x150))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x149))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x150))), Succ(Succ(Succ(x149))), Succ(Succ(x150)), Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x149))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x150))))))))) 149.30/106.69 149.30/106.69 (17) (new_primModNatS02(x156, x155)=Succ(x125) & Succ(Succ(Succ(x154)))=x156 & Succ(Succ(Zero))=x155 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x154))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x154))), Succ(Succ(Zero)), Succ(Succ(x154)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x154))))))))) 149.30/106.69 149.30/106.69 (18) (Succ(Succ(x159))=Succ(x125) & Succ(Succ(Zero))=x159 & Succ(Succ(Succ(x157)))=x158 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x157))), Succ(Zero), Succ(Succ(x157))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (19) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (20) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x150))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x149))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x150))), Succ(Succ(Succ(x149))), Succ(Succ(x150)), Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x149))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x150))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (21) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x154))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x154))), Succ(Succ(Zero)), Succ(Succ(x154)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x154))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (22) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x157))), Succ(Zero), Succ(Succ(x157))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (23) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x135)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x135)), Succ(Zero), Succ(x135), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x135)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) the following chains were created: 149.30/106.69 *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(new_primModNatS01(Succ(x31), Succ(x30), x31, x30)))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x32))))), Integer(Neg(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x32), Succ(x33), x32, x33))), Integer(Neg(Succ(Succ(Succ(x33))))), Integer(Pos(Succ(Succ(Succ(x32)))))) which results in the following constraint: 149.30/106.69 149.30/106.69 (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(new_primModNatS01(Succ(x31), Succ(x30), x31, x30))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x32))))), Integer(Neg(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(new_primModNatS01(Succ(x31), Succ(x30), x31, x30))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (2) (Succ(x31)=x166 & Succ(x30)=x167 & new_primModNatS01(x166, x167, x31, x30)=Succ(Succ(Succ(x33))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(new_primModNatS01(Succ(x31), Succ(x30), x31, x30))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x166, x167, x31, x30)=Succ(Succ(Succ(x33))) which results in the following new constraints: 149.30/106.69 149.30/106.69 (3) (new_primModNatS02(x169, x168)=Succ(Succ(Succ(x33))) & Succ(Zero)=x169 & Succ(Zero)=x168 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.30/106.69 149.30/106.69 (4) (new_primModNatS01(x173, x172, x171, x170)=Succ(Succ(Succ(x33))) & Succ(Succ(x171))=x173 & Succ(Succ(x170))=x172 & (\/x174:new_primModNatS01(x173, x172, x171, x170)=Succ(Succ(Succ(x174))) & Succ(x171)=x173 & Succ(x170)=x172 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x170))))), Integer(Neg(Succ(Succ(Succ(x171))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x170))))), Integer(Neg(new_primModNatS01(Succ(x171), Succ(x170), x171, x170))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x170)))))), Integer(Neg(Succ(Succ(Succ(Succ(x171)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x170)))))), Integer(Neg(new_primModNatS01(Succ(Succ(x171)), Succ(Succ(x170)), Succ(x171), Succ(x170)))))) 149.30/106.69 149.30/106.69 (5) (new_primModNatS02(x177, x176)=Succ(Succ(Succ(x33))) & Succ(Succ(x175))=x177 & Succ(Zero)=x176 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x175)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Succ(x175)), Succ(Zero), Succ(x175), Zero))))) 149.30/106.69 149.30/106.69 (6) (Succ(Succ(x180))=Succ(Succ(Succ(x33))) & Succ(Zero)=x180 & Succ(Succ(x178))=x179 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x178)), Zero, Succ(x178)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x169, x168)=Succ(Succ(Succ(x33))) which results in the following new constraint: 149.30/106.69 149.30/106.69 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x182), Succ(x181)), Succ(x181))=Succ(Succ(Succ(x33))) & Succ(Zero)=x182 & Succ(Zero)=x181 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (4) using rule (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (8) (new_primModNatS01(x173, x172, x171, x170)=Succ(Succ(Succ(x33))) & Succ(Succ(x171))=x173 & Succ(Succ(x170))=x172 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x170)))))), Integer(Neg(Succ(Succ(Succ(Succ(x171)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x170)))))), Integer(Neg(new_primModNatS01(Succ(Succ(x171)), Succ(Succ(x170)), Succ(x171), Succ(x170)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x177, x176)=Succ(Succ(Succ(x33))) which results in the following new constraint: 149.30/106.69 149.30/106.69 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x201), Succ(x200)), Succ(x200))=Succ(Succ(Succ(x33))) & Succ(Succ(x175))=x201 & Succ(Zero)=x200 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x175)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Succ(x175)), Succ(Zero), Succ(x175), Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (10) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x178)), Zero, Succ(x178)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (11) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x173, x172, x171, x170)=Succ(Succ(Succ(x33))) which results in the following new constraints: 149.30/106.69 149.30/106.69 (12) (new_primModNatS02(x188, x187)=Succ(Succ(Succ(x33))) & Succ(Succ(Zero))=x188 & Succ(Succ(Zero))=x187 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (13) (new_primModNatS01(x192, x191, x190, x189)=Succ(Succ(Succ(x33))) & Succ(Succ(Succ(x190)))=x192 & Succ(Succ(Succ(x189)))=x191 & (\/x193:new_primModNatS01(x192, x191, x190, x189)=Succ(Succ(Succ(x193))) & Succ(Succ(x190))=x192 & Succ(Succ(x189))=x191 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x189)))))), Integer(Neg(Succ(Succ(Succ(Succ(x190)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x189)))))), Integer(Neg(new_primModNatS01(Succ(Succ(x190)), Succ(Succ(x189)), Succ(x190), Succ(x189)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x189))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x189))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x190))), Succ(Succ(Succ(x189))), Succ(Succ(x190)), Succ(Succ(x189))))))) 149.30/106.69 149.30/106.69 (14) (new_primModNatS02(x196, x195)=Succ(Succ(Succ(x33))) & Succ(Succ(Succ(x194)))=x196 & Succ(Succ(Zero))=x195 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x194))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x194))), Succ(Succ(Zero)), Succ(Succ(x194)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 (15) (Succ(Succ(x199))=Succ(Succ(Succ(x33))) & Succ(Succ(Zero))=x199 & Succ(Succ(Succ(x197)))=x198 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x197))), Succ(Zero), Succ(Succ(x197))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (16) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (17) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x189))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x189))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x190))), Succ(Succ(Succ(x189))), Succ(Succ(x190)), Succ(Succ(x189))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (18) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x194))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x194))), Succ(Succ(Zero)), Succ(Succ(x194)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.30/106.69 149.30/106.69 (19) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x197))), Succ(Zero), Succ(Succ(x197))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.69 149.30/106.69 (20) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x175)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Succ(x175)), Succ(Zero), Succ(x175), Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 To summarize, we get the following constraints P__>=_ for the following pairs. 149.30/106.69 149.30/106.69 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x74))), Succ(Zero), Succ(Succ(x74))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x55)), Zero, Succ(x55)))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x67))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x66))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x67))), Succ(Succ(Succ(x66))), Succ(Succ(x67)), Succ(Succ(x66))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x66))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x67))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x71))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(Succ(x71))), Succ(Succ(Zero)), Succ(Succ(x71)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x71))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x52)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x52)), Succ(Zero), Succ(x52), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x52)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x114))), Succ(Zero), Succ(Succ(x114))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x95)), Zero, Succ(x95)))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x106))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x106))))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x107))), Succ(Succ(Succ(x106))), Succ(Succ(x107)), Succ(Succ(x106))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x111))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x111))), Succ(Succ(Zero)), Succ(Succ(x111)), Succ(Zero)))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x92)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS01(Succ(Succ(x92)), Succ(Zero), Succ(x92), Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x157))), Succ(Zero), Succ(Succ(x157))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x138)), Zero, Succ(x138)))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x150))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x149))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x150))), Succ(Succ(Succ(x149))), Succ(Succ(x150)), Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x149))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x150))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x154))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(Succ(x154))), Succ(Succ(Zero)), Succ(Succ(x154)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x154))))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x135)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x135)), Succ(Zero), Succ(x135), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x135)))))))) 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 149.30/106.69 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x197))), Succ(Zero), Succ(Succ(x197))))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x178)), Zero, Succ(x178)))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))))) 149.30/106.69 149.30/106.69 149.30/106.69 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x189))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x189))))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x190))), Succ(Succ(Succ(x189))), Succ(Succ(x190)), Succ(Succ(x189))))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x194))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x194))), Succ(Succ(Zero)), Succ(Succ(x194)), Succ(Zero)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x175)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS01(Succ(Succ(x175)), Succ(Zero), Succ(x175), Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 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. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (428) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 149.30/106.70 new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.70 new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 149.30/106.70 new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primEqInt(Pos(Zero)) -> True 149.30/106.70 new_primEqInt(Neg(Zero)) -> True 149.30/106.70 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (429) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_primMinusNatS(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS(vuz780, vuz790) 149.30/106.70 149.30/106.70 R is empty. 149.30/106.70 Q is empty. 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (430) QDPSizeChangeProof (EQUIVALENT) 149.30/106.70 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. 149.30/106.70 149.30/106.70 From the DPs we obtained the following set of size-change graphs: 149.30/106.70 *new_primMinusNatS(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS(vuz780, vuz790) 149.30/106.70 The graph contains the following edges 1 > 1, 2 > 2 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (431) 149.30/106.70 YES 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (432) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'(vuz56, vuz55) -> new_gcd0Gcd'10(new_esEs0(vuz55), vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_esEs0(Neg(Succ(vuz2600))) -> new_primEqInt(Neg(Succ(vuz2600))) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primEqInt(Neg(Zero)) -> True 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primEqInt(Pos(Zero)) -> True 149.30/106.70 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.70 new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_esEs0(Pos(Succ(vuz2600))) -> new_primEqInt(Pos(Succ(vuz2600))) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_esEs0(Pos(Succ(x0))) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_esEs0(Neg(Zero)) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_esEs0(Pos(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_esEs0(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (433) TransformationProof (EQUIVALENT) 149.30/106.70 By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz56, vuz55) -> new_gcd0Gcd'10(new_esEs0(vuz55), vuz56, vuz55) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.70 149.30/106.70 (new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(x0))), y0, Neg(Succ(x0))),new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(x0))), y0, Neg(Succ(x0)))) 149.30/106.70 (new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'10(new_primEqInt(Neg(Zero)), y0, Neg(Zero)),new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'10(new_primEqInt(Neg(Zero)), y0, Neg(Zero))) 149.30/106.70 (new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'10(new_primEqInt(Pos(Zero)), y0, Pos(Zero)),new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'10(new_primEqInt(Pos(Zero)), y0, Pos(Zero))) 149.30/106.70 (new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0))),new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0)))) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (434) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(x0))), y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'10(new_primEqInt(Neg(Zero)), y0, Neg(Zero)) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'10(new_primEqInt(Pos(Zero)), y0, Pos(Zero)) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_esEs0(Neg(Succ(vuz2600))) -> new_primEqInt(Neg(Succ(vuz2600))) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primEqInt(Neg(Zero)) -> True 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primEqInt(Pos(Zero)) -> True 149.30/106.70 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.70 new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_esEs0(Pos(Succ(vuz2600))) -> new_primEqInt(Pos(Succ(vuz2600))) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_esEs0(Pos(Succ(x0))) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_esEs0(Neg(Zero)) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_esEs0(Pos(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_esEs0(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (435) DependencyGraphProof (EQUIVALENT) 149.30/106.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (436) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(x0))), y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_esEs0(Neg(Succ(vuz2600))) -> new_primEqInt(Neg(Succ(vuz2600))) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primEqInt(Neg(Zero)) -> True 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primEqInt(Pos(Zero)) -> True 149.30/106.70 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.70 new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_esEs0(Pos(Succ(vuz2600))) -> new_primEqInt(Pos(Succ(vuz2600))) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_esEs0(Pos(Succ(x0))) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_esEs0(Neg(Zero)) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_esEs0(Pos(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_esEs0(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (437) UsableRulesProof (EQUIVALENT) 149.30/106.70 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. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (438) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(x0))), y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_esEs0(Pos(Succ(x0))) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_esEs0(Neg(Zero)) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_esEs0(Pos(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_esEs0(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (439) QReductionProof (EQUIVALENT) 149.30/106.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.30/106.70 149.30/106.70 new_esEs0(Pos(Succ(x0))) 149.30/106.70 new_esEs0(Neg(Zero)) 149.30/106.70 new_esEs0(Pos(Zero)) 149.30/106.70 new_esEs0(Neg(Succ(x0))) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (440) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(x0))), y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (441) TransformationProof (EQUIVALENT) 149.30/106.70 By rewriting [LPAR04] the rule new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(x0))), y0, Neg(Succ(x0))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.70 149.30/106.70 (new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))),new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0)))) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (442) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primEqInt(Neg(Succ(vuz25000))) -> False 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (443) UsableRulesProof (EQUIVALENT) 149.30/106.70 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. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (444) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (445) TransformationProof (EQUIVALENT) 149.30/106.70 By rewriting [LPAR04] the rule new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(x0))) at position [0] we obtained the following new rules [LPAR04]: 149.30/106.70 149.30/106.70 (new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))),new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0)))) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (446) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primEqInt(Pos(Succ(vuz25000))) -> False 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (447) UsableRulesProof (EQUIVALENT) 149.30/106.70 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. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (448) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (449) QReductionProof (EQUIVALENT) 149.30/106.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.30/106.70 149.30/106.70 new_primEqInt(Neg(Succ(x0))) 149.30/106.70 new_primEqInt(Pos(Zero)) 149.30/106.70 new_primEqInt(Neg(Zero)) 149.30/106.70 new_primEqInt(Pos(Succ(x0))) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (450) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (451) MNOCProof (EQUIVALENT) 149.30/106.70 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (452) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 149.30/106.70 Q is empty. 149.30/106.70 We have to consider all (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (453) InductionCalculusProof (EQUIVALENT) 149.30/106.70 Note that final constraints are written in bold face. 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 For Pair new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) the following chains were created: 149.30/106.70 *We consider the chain new_gcd0Gcd'00(x4, x5) -> new_gcd0Gcd'(x5, new_primRemInt(x4, x5)), new_gcd0Gcd'(x6, Neg(Succ(x7))) -> new_gcd0Gcd'10(False, x6, Neg(Succ(x7))) which results in the following constraint: 149.30/106.70 149.30/106.70 (1) (new_gcd0Gcd'(x5, new_primRemInt(x4, x5))=new_gcd0Gcd'(x6, Neg(Succ(x7))) ==> new_gcd0Gcd'00(x4, x5)_>=_new_gcd0Gcd'(x5, new_primRemInt(x4, x5))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (2) (new_primRemInt(x4, x5)=Neg(Succ(x7)) ==> new_gcd0Gcd'00(x4, x5)_>=_new_gcd0Gcd'(x5, new_primRemInt(x4, x5))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 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 constraints: 149.30/106.70 149.30/106.70 (3) (new_error=Neg(Succ(x7)) ==> new_gcd0Gcd'00(Neg(x46), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Neg(x46), Neg(Zero)))) 149.30/106.70 149.30/106.70 (4) (Neg(new_primModNatS1(x48, x47))=Neg(Succ(x7)) ==> new_gcd0Gcd'00(Neg(x48), Pos(Succ(x47)))_>=_new_gcd0Gcd'(Pos(Succ(x47)), new_primRemInt(Neg(x48), Pos(Succ(x47))))) 149.30/106.70 149.30/106.70 (5) (new_error=Neg(Succ(x7)) ==> new_gcd0Gcd'00(Pos(x49), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Pos(x49), Pos(Zero)))) 149.30/106.70 149.30/106.70 (6) (Neg(new_primModNatS1(x51, x50))=Neg(Succ(x7)) ==> new_gcd0Gcd'00(Neg(x51), Neg(Succ(x50)))_>=_new_gcd0Gcd'(Neg(Succ(x50)), new_primRemInt(Neg(x51), Neg(Succ(x50))))) 149.30/106.70 149.30/106.70 (7) (new_error=Neg(Succ(x7)) ==> new_gcd0Gcd'00(Pos(x52), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Pos(x52), Neg(Zero)))) 149.30/106.70 149.30/106.70 (8) (new_error=Neg(Succ(x7)) ==> new_gcd0Gcd'00(Neg(x53), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Neg(x53), Pos(Zero)))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We solved constraint (3) using rule (V) (with possible (I) afterwards).We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 149.30/106.70 149.30/106.70 (9) (new_primModNatS1(x48, x47)=Succ(x7) ==> new_gcd0Gcd'00(Neg(x48), Pos(Succ(x47)))_>=_new_gcd0Gcd'(Pos(Succ(x47)), new_primRemInt(Neg(x48), Pos(Succ(x47))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 149.30/106.70 149.30/106.70 (10) (new_primModNatS1(x51, x50)=Succ(x7) ==> new_gcd0Gcd'00(Neg(x51), Neg(Succ(x50)))_>=_new_gcd0Gcd'(Neg(Succ(x50)), new_primRemInt(Neg(x51), Neg(Succ(x50))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We solved constraint (7) using rule (V) (with possible (I) afterwards).We solved constraint (8) using rule (V) (with possible (I) afterwards).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x48, x47)=Succ(x7) which results in the following new constraints: 149.30/106.70 149.30/106.70 (11) (Succ(Zero)=Succ(x7) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x54))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x54))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x54)))))) 149.30/106.70 149.30/106.70 (12) (new_primModNatS1(new_primMinusNatS0(x56), Zero)=Succ(x7) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x56))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x56))), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 (13) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x7) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 (14) (new_primModNatS01(x58, x57, x58, x57)=Succ(x7) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x58))), Pos(Succ(Succ(x57))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x57))), new_primRemInt(Neg(Succ(Succ(x58))), Pos(Succ(Succ(x57)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (15) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x54))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x54))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x54)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (16) (new_gcd0Gcd'00(Neg(Succ(Succ(x56))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x56))), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (17) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (18) (new_gcd0Gcd'00(Neg(Succ(Succ(x63))), Pos(Succ(Succ(x64))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x64))), new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Succ(x64)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x50)=Succ(x7) which results in the following new constraints: 149.30/106.70 149.30/106.70 (19) (Succ(Zero)=Succ(x7) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x65))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x65))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x65)))))) 149.30/106.70 149.30/106.70 (20) (new_primModNatS1(new_primMinusNatS0(x67), Zero)=Succ(x7) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x67))), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 (21) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x7) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 (22) (new_primModNatS01(x69, x68, x69, x68)=Succ(x7) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x69))), Neg(Succ(Succ(x68))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x68))), new_primRemInt(Neg(Succ(Succ(x69))), Neg(Succ(Succ(x68)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (19) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (23) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x65))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x65))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x65)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (20) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (24) (new_gcd0Gcd'00(Neg(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x67))), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (21) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (25) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (22) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (26) (new_gcd0Gcd'00(Neg(Succ(Succ(x74))), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x75))), new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Succ(x75)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 *We consider the chain new_gcd0Gcd'00(x8, x9) -> new_gcd0Gcd'(x9, new_primRemInt(x8, x9)), new_gcd0Gcd'(x10, Pos(Succ(x11))) -> new_gcd0Gcd'10(False, x10, Pos(Succ(x11))) which results in the following constraint: 149.30/106.70 149.30/106.70 (1) (new_gcd0Gcd'(x9, new_primRemInt(x8, x9))=new_gcd0Gcd'(x10, Pos(Succ(x11))) ==> new_gcd0Gcd'00(x8, x9)_>=_new_gcd0Gcd'(x9, new_primRemInt(x8, x9))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (2) (new_primRemInt(x8, x9)=Pos(Succ(x11)) ==> new_gcd0Gcd'00(x8, x9)_>=_new_gcd0Gcd'(x9, new_primRemInt(x8, x9))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x8, x9)=Pos(Succ(x11)) which results in the following new constraints: 149.30/106.70 149.30/106.70 (3) (Pos(new_primModNatS1(x77, x76))=Pos(Succ(x11)) ==> new_gcd0Gcd'00(Pos(x77), Neg(Succ(x76)))_>=_new_gcd0Gcd'(Neg(Succ(x76)), new_primRemInt(Pos(x77), Neg(Succ(x76))))) 149.30/106.70 149.30/106.70 (4) (Pos(new_primModNatS1(x79, x78))=Pos(Succ(x11)) ==> new_gcd0Gcd'00(Pos(x79), Pos(Succ(x78)))_>=_new_gcd0Gcd'(Pos(Succ(x78)), new_primRemInt(Pos(x79), Pos(Succ(x78))))) 149.30/106.70 149.30/106.70 (5) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'00(Neg(x80), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Neg(x80), Neg(Zero)))) 149.30/106.70 149.30/106.70 (6) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'00(Pos(x83), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Pos(x83), Pos(Zero)))) 149.30/106.70 149.30/106.70 (7) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'00(Pos(x86), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Pos(x86), Neg(Zero)))) 149.30/106.70 149.30/106.70 (8) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'00(Neg(x87), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Neg(x87), Pos(Zero)))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 149.30/106.70 149.30/106.70 (9) (new_primModNatS1(x77, x76)=Succ(x11) ==> new_gcd0Gcd'00(Pos(x77), Neg(Succ(x76)))_>=_new_gcd0Gcd'(Neg(Succ(x76)), new_primRemInt(Pos(x77), Neg(Succ(x76))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 149.30/106.70 149.30/106.70 (10) (new_primModNatS1(x79, x78)=Succ(x11) ==> new_gcd0Gcd'00(Pos(x79), Pos(Succ(x78)))_>=_new_gcd0Gcd'(Pos(Succ(x78)), new_primRemInt(Pos(x79), Pos(Succ(x78))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We solved constraint (5) using rule (V) (with possible (I) afterwards).We solved constraint (6) using rule (V) (with possible (I) afterwards).We solved constraint (7) using rule (V) (with possible (I) afterwards).We solved constraint (8) using rule (V) (with possible (I) afterwards).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x77, x76)=Succ(x11) which results in the following new constraints: 149.30/106.70 149.30/106.70 (11) (Succ(Zero)=Succ(x11) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x88))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x88))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x88)))))) 149.30/106.70 149.30/106.70 (12) (new_primModNatS1(new_primMinusNatS0(x90), Zero)=Succ(x11) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x90))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x90))), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 (13) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x11) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 (14) (new_primModNatS01(x92, x91, x92, x91)=Succ(x11) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x92))), Neg(Succ(Succ(x91))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x91))), new_primRemInt(Pos(Succ(Succ(x92))), Neg(Succ(Succ(x91)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (15) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x88))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x88))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x88)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (16) (new_gcd0Gcd'00(Pos(Succ(Succ(x90))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x90))), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (17) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (18) (new_gcd0Gcd'00(Pos(Succ(Succ(x97))), Neg(Succ(Succ(x98))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x98))), new_primRemInt(Pos(Succ(Succ(x97))), Neg(Succ(Succ(x98)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x79, x78)=Succ(x11) which results in the following new constraints: 149.30/106.70 149.30/106.70 (19) (Succ(Zero)=Succ(x11) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x99))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x99))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x99)))))) 149.30/106.70 149.30/106.70 (20) (new_primModNatS1(new_primMinusNatS0(x101), Zero)=Succ(x11) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x101))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x101))), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 (21) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x11) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 (22) (new_primModNatS01(x103, x102, x103, x102)=Succ(x11) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x103))), Pos(Succ(Succ(x102))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x102))), new_primRemInt(Pos(Succ(Succ(x103))), Pos(Succ(Succ(x102)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (19) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (23) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x99))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x99))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x99)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (20) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (24) (new_gcd0Gcd'00(Pos(Succ(Succ(x101))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x101))), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (21) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (25) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (22) using rules (III), (IV), (VII) which results in the following new constraint: 149.30/106.70 149.30/106.70 (26) (new_gcd0Gcd'00(Pos(Succ(Succ(x108))), Pos(Succ(Succ(x109))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x109))), new_primRemInt(Pos(Succ(Succ(x108))), Pos(Succ(Succ(x109)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 For Pair new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) the following chains were created: 149.30/106.70 *We consider the chain new_gcd0Gcd'10(False, x12, x13) -> new_gcd0Gcd'00(x12, x13), new_gcd0Gcd'00(x14, x15) -> new_gcd0Gcd'(x15, new_primRemInt(x14, x15)) which results in the following constraint: 149.30/106.70 149.30/106.70 (1) (new_gcd0Gcd'00(x12, x13)=new_gcd0Gcd'00(x14, x15) ==> new_gcd0Gcd'10(False, x12, x13)_>=_new_gcd0Gcd'00(x12, x13)) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (2) (new_gcd0Gcd'10(False, x12, x13)_>=_new_gcd0Gcd'00(x12, x13)) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 For Pair new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) the following chains were created: 149.30/106.70 *We consider the chain new_gcd0Gcd'(x24, Neg(Succ(x25))) -> new_gcd0Gcd'10(False, x24, Neg(Succ(x25))), new_gcd0Gcd'10(False, x26, x27) -> new_gcd0Gcd'00(x26, x27) which results in the following constraint: 149.30/106.70 149.30/106.70 (1) (new_gcd0Gcd'10(False, x24, Neg(Succ(x25)))=new_gcd0Gcd'10(False, x26, x27) ==> new_gcd0Gcd'(x24, Neg(Succ(x25)))_>=_new_gcd0Gcd'10(False, x24, Neg(Succ(x25)))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (2) (new_gcd0Gcd'(x24, Neg(Succ(x25)))_>=_new_gcd0Gcd'10(False, x24, Neg(Succ(x25)))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 For Pair new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) the following chains were created: 149.30/106.70 *We consider the chain new_gcd0Gcd'(x34, Pos(Succ(x35))) -> new_gcd0Gcd'10(False, x34, Pos(Succ(x35))), new_gcd0Gcd'10(False, x36, x37) -> new_gcd0Gcd'00(x36, x37) which results in the following constraint: 149.30/106.70 149.30/106.70 (1) (new_gcd0Gcd'10(False, x34, Pos(Succ(x35)))=new_gcd0Gcd'10(False, x36, x37) ==> new_gcd0Gcd'(x34, Pos(Succ(x35)))_>=_new_gcd0Gcd'10(False, x34, Pos(Succ(x35)))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.30/106.70 149.30/106.70 (2) (new_gcd0Gcd'(x34, Pos(Succ(x35)))_>=_new_gcd0Gcd'10(False, x34, Pos(Succ(x35)))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 To summarize, we get the following constraints P__>=_ for the following pairs. 149.30/106.70 149.30/106.70 *new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x54))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x54))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x54)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x65))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x65))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x65)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Neg(Succ(Succ(x56))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x56))), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Neg(Succ(Succ(x63))), Pos(Succ(Succ(x64))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x64))), new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Succ(x64)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Neg(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x67))), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Neg(Succ(Succ(x74))), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x75))), new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Succ(x75)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x88))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x88))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x88)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x99))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x99))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x99)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Pos(Succ(Succ(x90))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x90))), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Pos(Succ(Succ(x97))), Neg(Succ(Succ(x98))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x98))), new_primRemInt(Pos(Succ(Succ(x97))), Neg(Succ(Succ(x98)))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Pos(Succ(Succ(x101))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x101))), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 149.30/106.70 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'00(Pos(Succ(Succ(x108))), Pos(Succ(Succ(x109))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x109))), new_primRemInt(Pos(Succ(Succ(x108))), Pos(Succ(Succ(x109)))))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 *new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'10(False, x12, x13)_>=_new_gcd0Gcd'00(x12, x13)) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 *new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'(x24, Neg(Succ(x25)))_>=_new_gcd0Gcd'10(False, x24, Neg(Succ(x25)))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 *new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 *(new_gcd0Gcd'(x34, Pos(Succ(x35)))_>=_new_gcd0Gcd'10(False, x34, Pos(Succ(x35)))) 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 149.30/106.70 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. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (454) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (455) TransformationProof (EQUIVALENT) 149.30/106.70 By narrowing [LPAR04] the rule new_gcd0Gcd'00(vuz51, vuz50) -> new_gcd0Gcd'(vuz50, new_primRemInt(vuz51, vuz50)) at position [1] we obtained the following new rules [LPAR04]: 149.30/106.70 149.30/106.70 (new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 149.30/106.70 (new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 149.30/106.70 (new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error),new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error)) 149.30/106.70 (new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 149.30/106.70 (new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error),new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error)) 149.30/106.70 (new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 149.30/106.70 (new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error),new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error)) 149.30/106.70 (new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error),new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error)) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (456) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (457) DependencyGraphProof (EQUIVALENT) 149.30/106.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (458) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Succ(vuz5000))) -> Pos(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Neg(Succ(vuz5000))) -> Neg(new_primModNatS1(vuz510, vuz5000)) 149.30/106.70 new_primRemInt(Pos(vuz510), Neg(Zero)) -> new_error 149.30/106.70 new_primRemInt(Neg(vuz510), Pos(Zero)) -> new_error 149.30/106.70 new_error -> error([]) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (459) UsableRulesProof (EQUIVALENT) 149.30/106.70 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. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (460) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_error 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (461) QReductionProof (EQUIVALENT) 149.30/106.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 149.30/106.70 149.30/106.70 new_primRemInt(Pos(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Zero)) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Zero)) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Zero)) 149.30/106.70 new_error 149.30/106.70 new_primRemInt(Pos(x0), Neg(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Pos(Succ(x1))) 149.30/106.70 new_primRemInt(Pos(x0), Pos(Succ(x1))) 149.30/106.70 new_primRemInt(Neg(x0), Neg(Succ(x1))) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (462) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (463) TransformationProof (EQUIVALENT) 149.30/106.70 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.30/106.70 149.30/106.70 (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 149.30/106.70 (new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero))) 149.30/106.70 (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.30/106.70 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.70 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (464) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (465) DependencyGraphProof (EQUIVALENT) 149.30/106.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (466) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (467) TransformationProof (EQUIVALENT) 149.30/106.70 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.70 149.30/106.70 (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 149.30/106.70 149.30/106.70 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (468) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (469) DependencyGraphProof (EQUIVALENT) 149.30/106.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (470) 149.30/106.70 Obligation: 149.30/106.70 Q DP problem: 149.30/106.70 The TRS P consists of the following rules: 149.30/106.70 149.30/106.70 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.70 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.70 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.70 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.70 149.30/106.70 The TRS R consists of the following rules: 149.30/106.70 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.70 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.70 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.70 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.70 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.70 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.70 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.70 new_primMinusNatS1 -> Zero 149.30/106.70 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.70 149.30/106.70 The set Q consists of the following terms: 149.30/106.70 149.30/106.70 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.70 new_primModNatS02(x0, x1) 149.30/106.70 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.70 new_primMinusNatS1 149.30/106.70 new_primMinusNatS0(x0) 149.30/106.70 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.70 new_primModNatS1(Zero, x0) 149.30/106.70 new_primMinusNatS2(Zero, Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Zero) 149.30/106.70 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.70 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.70 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.70 149.30/106.70 We have to consider all minimal (P,Q,R)-chains. 149.30/106.70 ---------------------------------------- 149.30/106.70 149.30/106.70 (471) TransformationProof (EQUIVALENT) 149.30/106.70 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.70 149.30/106.70 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (472) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (473) TransformationProof (EQUIVALENT) 149.30/106.71 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero))) 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (474) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (475) DependencyGraphProof (EQUIVALENT) 149.30/106.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (476) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (477) TransformationProof (EQUIVALENT) 149.30/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (478) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (479) DependencyGraphProof (EQUIVALENT) 149.30/106.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (480) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (481) TransformationProof (EQUIVALENT) 149.30/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (482) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (483) TransformationProof (EQUIVALENT) 149.30/106.71 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero))) 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (484) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (485) DependencyGraphProof (EQUIVALENT) 149.30/106.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (486) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (487) TransformationProof (EQUIVALENT) 149.30/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (488) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (489) DependencyGraphProof (EQUIVALENT) 149.30/106.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (490) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (491) TransformationProof (EQUIVALENT) 149.30/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (492) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (493) TransformationProof (EQUIVALENT) 149.30/106.71 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero))) 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (494) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (495) DependencyGraphProof (EQUIVALENT) 149.30/106.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (496) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (497) TransformationProof (EQUIVALENT) 149.30/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (498) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (499) DependencyGraphProof (EQUIVALENT) 149.30/106.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (500) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (501) TransformationProof (EQUIVALENT) 149.30/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (502) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (503) TransformationProof (EQUIVALENT) 149.30/106.71 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 149.30/106.71 (new_gcd0Gcd'00(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'00(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)))) 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (504) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 149.30/106.71 new_gcd0Gcd'00(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))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (505) TransformationProof (EQUIVALENT) 149.30/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (506) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(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))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.30/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.30/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.30/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.30/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.30/106.71 new_primMinusNatS1 -> Zero 149.30/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.30/106.71 149.30/106.71 The set Q consists of the following terms: 149.30/106.71 149.30/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.30/106.71 new_primModNatS02(x0, x1) 149.30/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.30/106.71 new_primMinusNatS1 149.30/106.71 new_primMinusNatS0(x0) 149.30/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.30/106.71 new_primModNatS1(Zero, x0) 149.30/106.71 new_primMinusNatS2(Zero, Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.30/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.30/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.30/106.71 149.30/106.71 We have to consider all minimal (P,Q,R)-chains. 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (507) TransformationProof (EQUIVALENT) 149.30/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.30/106.71 149.30/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.30/106.71 149.30/106.71 149.30/106.71 ---------------------------------------- 149.30/106.71 149.30/106.71 (508) 149.30/106.71 Obligation: 149.30/106.71 Q DP problem: 149.30/106.71 The TRS P consists of the following rules: 149.30/106.71 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.30/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.30/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.30/106.71 new_gcd0Gcd'00(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))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 149.30/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 149.30/106.71 149.30/106.71 The TRS R consists of the following rules: 149.30/106.71 149.30/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.30/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.30/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.30/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.71 new_primMinusNatS1 -> Zero 149.40/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.71 149.40/106.71 The set Q consists of the following terms: 149.40/106.71 149.40/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.71 new_primModNatS02(x0, x1) 149.40/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.71 new_primMinusNatS1 149.40/106.71 new_primMinusNatS0(x0) 149.40/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.71 new_primModNatS1(Zero, x0) 149.40/106.71 new_primMinusNatS2(Zero, Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.71 149.40/106.71 We have to consider all minimal (P,Q,R)-chains. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (509) TransformationProof (EQUIVALENT) 149.40/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.71 149.40/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 149.40/106.71 149.40/106.71 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (510) 149.40/106.71 Obligation: 149.40/106.71 Q DP problem: 149.40/106.71 The TRS P consists of the following rules: 149.40/106.71 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(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))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 149.40/106.71 149.40/106.71 The TRS R consists of the following rules: 149.40/106.71 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.71 new_primMinusNatS1 -> Zero 149.40/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.71 149.40/106.71 The set Q consists of the following terms: 149.40/106.71 149.40/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.71 new_primModNatS02(x0, x1) 149.40/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.71 new_primMinusNatS1 149.40/106.71 new_primMinusNatS0(x0) 149.40/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.71 new_primModNatS1(Zero, x0) 149.40/106.71 new_primMinusNatS2(Zero, Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.71 149.40/106.71 We have to consider all minimal (P,Q,R)-chains. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (511) TransformationProof (EQUIVALENT) 149.40/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.71 149.40/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.40/106.71 149.40/106.71 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (512) 149.40/106.71 Obligation: 149.40/106.71 Q DP problem: 149.40/106.71 The TRS P consists of the following rules: 149.40/106.71 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(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))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.71 149.40/106.71 The TRS R consists of the following rules: 149.40/106.71 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.71 new_primMinusNatS1 -> Zero 149.40/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.71 149.40/106.71 The set Q consists of the following terms: 149.40/106.71 149.40/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.71 new_primModNatS02(x0, x1) 149.40/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.71 new_primMinusNatS1 149.40/106.71 new_primMinusNatS0(x0) 149.40/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.71 new_primModNatS1(Zero, x0) 149.40/106.71 new_primMinusNatS2(Zero, Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.71 149.40/106.71 We have to consider all minimal (P,Q,R)-chains. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (513) TransformationProof (EQUIVALENT) 149.40/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.71 149.40/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) 149.40/106.71 149.40/106.71 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (514) 149.40/106.71 Obligation: 149.40/106.71 Q DP problem: 149.40/106.71 The TRS P consists of the following rules: 149.40/106.71 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(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))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 149.40/106.71 149.40/106.71 The TRS R consists of the following rules: 149.40/106.71 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.71 new_primMinusNatS1 -> Zero 149.40/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.71 149.40/106.71 The set Q consists of the following terms: 149.40/106.71 149.40/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.71 new_primModNatS02(x0, x1) 149.40/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.71 new_primMinusNatS1 149.40/106.71 new_primMinusNatS0(x0) 149.40/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.71 new_primModNatS1(Zero, x0) 149.40/106.71 new_primMinusNatS2(Zero, Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.71 149.40/106.71 We have to consider all minimal (P,Q,R)-chains. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (515) DependencyGraphProof (EQUIVALENT) 149.40/106.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (516) 149.40/106.71 Obligation: 149.40/106.71 Q DP problem: 149.40/106.71 The TRS P consists of the following rules: 149.40/106.71 149.40/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(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))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.71 149.40/106.71 The TRS R consists of the following rules: 149.40/106.71 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.71 new_primMinusNatS1 -> Zero 149.40/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.71 149.40/106.71 The set Q consists of the following terms: 149.40/106.71 149.40/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.71 new_primModNatS02(x0, x1) 149.40/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.71 new_primMinusNatS1 149.40/106.71 new_primMinusNatS0(x0) 149.40/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.71 new_primModNatS1(Zero, x0) 149.40/106.71 new_primMinusNatS2(Zero, Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.71 149.40/106.71 We have to consider all minimal (P,Q,R)-chains. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (517) TransformationProof (EQUIVALENT) 149.40/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.71 149.40/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.40/106.71 149.40/106.71 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (518) 149.40/106.71 Obligation: 149.40/106.71 Q DP problem: 149.40/106.71 The TRS P consists of the following rules: 149.40/106.71 149.40/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(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))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.71 149.40/106.71 The TRS R consists of the following rules: 149.40/106.71 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.71 new_primMinusNatS1 -> Zero 149.40/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.71 149.40/106.71 The set Q consists of the following terms: 149.40/106.71 149.40/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.71 new_primModNatS02(x0, x1) 149.40/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.71 new_primMinusNatS1 149.40/106.71 new_primMinusNatS0(x0) 149.40/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.71 new_primModNatS1(Zero, x0) 149.40/106.71 new_primMinusNatS2(Zero, Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.71 149.40/106.71 We have to consider all minimal (P,Q,R)-chains. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (519) TransformationProof (EQUIVALENT) 149.40/106.71 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.71 149.40/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.40/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.40/106.71 149.40/106.71 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (520) 149.40/106.71 Obligation: 149.40/106.71 Q DP problem: 149.40/106.71 The TRS P consists of the following rules: 149.40/106.71 149.40/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(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))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.71 149.40/106.71 The TRS R consists of the following rules: 149.40/106.71 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.71 new_primMinusNatS1 -> Zero 149.40/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.71 149.40/106.71 The set Q consists of the following terms: 149.40/106.71 149.40/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.71 new_primModNatS02(x0, x1) 149.40/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.71 new_primMinusNatS1 149.40/106.71 new_primMinusNatS0(x0) 149.40/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.71 new_primModNatS1(Zero, x0) 149.40/106.71 new_primMinusNatS2(Zero, Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.71 149.40/106.71 We have to consider all minimal (P,Q,R)-chains. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (521) TransformationProof (EQUIVALENT) 149.40/106.71 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.71 149.40/106.71 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 149.40/106.71 149.40/106.71 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (522) 149.40/106.71 Obligation: 149.40/106.71 Q DP problem: 149.40/106.71 The TRS P consists of the following rules: 149.40/106.71 149.40/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(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))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 149.40/106.71 149.40/106.71 The TRS R consists of the following rules: 149.40/106.71 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.71 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.71 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.71 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.71 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.71 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.71 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.71 new_primMinusNatS1 -> Zero 149.40/106.71 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.71 149.40/106.71 The set Q consists of the following terms: 149.40/106.71 149.40/106.71 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.71 new_primModNatS02(x0, x1) 149.40/106.71 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.71 new_primMinusNatS1 149.40/106.71 new_primMinusNatS0(x0) 149.40/106.71 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.71 new_primModNatS1(Zero, x0) 149.40/106.71 new_primMinusNatS2(Zero, Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Zero) 149.40/106.71 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.71 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.71 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.71 149.40/106.71 We have to consider all minimal (P,Q,R)-chains. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (523) DependencyGraphProof (EQUIVALENT) 149.40/106.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.71 ---------------------------------------- 149.40/106.71 149.40/106.71 (524) 149.40/106.71 Obligation: 149.40/106.71 Q DP problem: 149.40/106.71 The TRS P consists of the following rules: 149.40/106.71 149.40/106.71 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.71 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.71 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.71 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (525) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (526) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (527) TransformationProof (EQUIVALENT) 149.40/106.72 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 149.40/106.72 (new_gcd0Gcd'00(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'00(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)))) 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (528) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (529) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (530) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (531) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (532) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (533) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (534) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (535) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (536) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (537) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (538) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (539) DependencyGraphProof (EQUIVALENT) 149.40/106.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (540) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (541) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (542) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (543) TransformationProof (EQUIVALENT) 149.40/106.72 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (544) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (545) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (546) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (547) DependencyGraphProof (EQUIVALENT) 149.40/106.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (548) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (549) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (550) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (551) TransformationProof (EQUIVALENT) 149.40/106.72 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 149.40/106.72 (new_gcd0Gcd'00(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'00(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)))) 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (552) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (553) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (554) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (555) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (556) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (557) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (558) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (559) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (560) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (561) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (562) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (563) DependencyGraphProof (EQUIVALENT) 149.40/106.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (564) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (565) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (566) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (567) TransformationProof (EQUIVALENT) 149.40/106.72 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (568) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (569) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (570) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (571) DependencyGraphProof (EQUIVALENT) 149.40/106.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (572) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (573) TransformationProof (EQUIVALENT) 149.40/106.72 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 149.40/106.72 149.40/106.72 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (574) 149.40/106.72 Obligation: 149.40/106.72 Q DP problem: 149.40/106.72 The TRS P consists of the following rules: 149.40/106.72 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.72 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 new_gcd0Gcd'00(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))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.72 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.72 149.40/106.72 The TRS R consists of the following rules: 149.40/106.72 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.72 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.72 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.72 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.72 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.72 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.72 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.72 new_primMinusNatS1 -> Zero 149.40/106.72 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.72 149.40/106.72 The set Q consists of the following terms: 149.40/106.72 149.40/106.72 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.72 new_primModNatS02(x0, x1) 149.40/106.72 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.72 new_primMinusNatS1 149.40/106.72 new_primMinusNatS0(x0) 149.40/106.72 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.72 new_primModNatS1(Zero, x0) 149.40/106.72 new_primMinusNatS2(Zero, Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Zero) 149.40/106.72 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.72 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.72 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.72 149.40/106.72 We have to consider all minimal (P,Q,R)-chains. 149.40/106.72 ---------------------------------------- 149.40/106.72 149.40/106.72 (575) TransformationProof (EQUIVALENT) 149.40/106.72 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.72 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 149.40/106.72 (new_gcd0Gcd'00(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'00(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)))) 149.40/106.72 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (576) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (577) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (578) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (579) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (580) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (581) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (582) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (583) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (584) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (585) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (586) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (587) DependencyGraphProof (EQUIVALENT) 149.40/106.73 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (588) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (589) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (590) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (591) TransformationProof (EQUIVALENT) 149.40/106.73 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (592) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (593) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (594) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (595) DependencyGraphProof (EQUIVALENT) 149.40/106.73 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (596) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (597) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (598) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (599) TransformationProof (EQUIVALENT) 149.40/106.73 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(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'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 149.40/106.73 (new_gcd0Gcd'00(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'00(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)))) 149.40/106.73 (new_gcd0Gcd'00(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'00(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))))) 149.40/106.73 (new_gcd0Gcd'00(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'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (600) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(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)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (601) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (602) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(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)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (603) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (604) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (605) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (606) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (607) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (608) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (609) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (610) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (611) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (612) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (613) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(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'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (614) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (615) DependencyGraphProof (EQUIVALENT) 149.40/106.73 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (616) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (617) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(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'00(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)))))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (618) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(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))))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (619) TransformationProof (EQUIVALENT) 149.40/106.73 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 149.40/106.73 (new_gcd0Gcd'00(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'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (620) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(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))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (621) TransformationProof (EQUIVALENT) 149.40/106.73 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (622) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.73 new_gcd0Gcd'00(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))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.73 new_gcd0Gcd'00(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))))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.73 149.40/106.73 The TRS R consists of the following rules: 149.40/106.73 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.73 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.73 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.73 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.73 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.73 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.73 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.73 new_primMinusNatS1 -> Zero 149.40/106.73 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.73 149.40/106.73 The set Q consists of the following terms: 149.40/106.73 149.40/106.73 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.73 new_primModNatS02(x0, x1) 149.40/106.73 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.73 new_primMinusNatS1 149.40/106.73 new_primMinusNatS0(x0) 149.40/106.73 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.73 new_primModNatS1(Zero, x0) 149.40/106.73 new_primMinusNatS2(Zero, Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Zero) 149.40/106.73 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.73 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.73 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.73 149.40/106.73 We have to consider all minimal (P,Q,R)-chains. 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (623) TransformationProof (EQUIVALENT) 149.40/106.73 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.73 149.40/106.73 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 149.40/106.73 149.40/106.73 149.40/106.73 ---------------------------------------- 149.40/106.73 149.40/106.73 (624) 149.40/106.73 Obligation: 149.40/106.73 Q DP problem: 149.40/106.73 The TRS P consists of the following rules: 149.40/106.73 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.73 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.73 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.73 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (625) DependencyGraphProof (EQUIVALENT) 149.40/106.74 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (626) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (627) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (628) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (629) TransformationProof (EQUIVALENT) 149.40/106.74 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(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'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 149.40/106.74 (new_gcd0Gcd'00(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'00(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)))) 149.40/106.74 (new_gcd0Gcd'00(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'00(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))))) 149.40/106.74 (new_gcd0Gcd'00(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'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (630) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(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)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (631) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (632) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(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)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (633) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (634) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (635) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (636) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (637) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (638) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (639) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (640) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (641) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (642) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (643) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(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'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (644) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (645) DependencyGraphProof (EQUIVALENT) 149.40/106.74 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (646) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (647) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(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'00(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)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (648) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (649) TransformationProof (EQUIVALENT) 149.40/106.74 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 149.40/106.74 (new_gcd0Gcd'00(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'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (650) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (651) TransformationProof (EQUIVALENT) 149.40/106.74 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (652) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (653) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (654) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (655) DependencyGraphProof (EQUIVALENT) 149.40/106.74 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (656) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (657) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (658) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (659) TransformationProof (EQUIVALENT) 149.40/106.74 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 149.40/106.74 (new_gcd0Gcd'00(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'00(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)))) 149.40/106.74 (new_gcd0Gcd'00(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'00(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))))) 149.40/106.74 (new_gcd0Gcd'00(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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (660) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(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)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (661) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (662) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(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)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (663) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (664) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (665) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (666) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.74 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.74 149.40/106.74 We have to consider all minimal (P,Q,R)-chains. 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (667) TransformationProof (EQUIVALENT) 149.40/106.74 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.74 149.40/106.74 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 149.40/106.74 149.40/106.74 149.40/106.74 ---------------------------------------- 149.40/106.74 149.40/106.74 (668) 149.40/106.74 Obligation: 149.40/106.74 Q DP problem: 149.40/106.74 The TRS P consists of the following rules: 149.40/106.74 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.74 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(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))))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.74 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.74 new_gcd0Gcd'00(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))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.74 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.74 149.40/106.74 The TRS R consists of the following rules: 149.40/106.74 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.74 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.74 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.74 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.74 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.74 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.74 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.74 new_primMinusNatS1 -> Zero 149.40/106.74 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.74 149.40/106.74 The set Q consists of the following terms: 149.40/106.74 149.40/106.74 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.74 new_primModNatS02(x0, x1) 149.40/106.74 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.74 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.74 new_primMinusNatS1 149.40/106.74 new_primMinusNatS0(x0) 149.40/106.74 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.74 new_primModNatS1(Zero, x0) 149.40/106.74 new_primMinusNatS2(Zero, Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Zero) 149.40/106.74 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.75 149.40/106.75 We have to consider all minimal (P,Q,R)-chains. 149.40/106.75 ---------------------------------------- 149.40/106.75 149.40/106.75 (669) TransformationProof (EQUIVALENT) 149.40/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.75 149.40/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 149.40/106.75 149.40/106.75 149.40/106.75 ---------------------------------------- 149.40/106.75 149.40/106.75 (670) 149.40/106.75 Obligation: 149.40/106.75 Q DP problem: 149.40/106.75 The TRS P consists of the following rules: 149.40/106.75 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.75 new_gcd0Gcd'00(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))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.75 new_gcd0Gcd'00(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))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.75 new_gcd0Gcd'00(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))))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.75 new_gcd0Gcd'00(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))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.75 new_gcd0Gcd'00(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))))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.75 new_gcd0Gcd'00(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))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 149.40/106.75 149.40/106.75 The TRS R consists of the following rules: 149.40/106.75 149.40/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.75 new_primMinusNatS1 -> Zero 149.40/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.75 149.40/106.75 The set Q consists of the following terms: 149.40/106.75 149.40/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.75 new_primModNatS02(x0, x1) 149.40/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.75 new_primMinusNatS1 149.40/106.75 new_primMinusNatS0(x0) 149.40/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.75 new_primModNatS1(Zero, x0) 149.40/106.75 new_primMinusNatS2(Zero, Zero) 149.40/106.75 new_primModNatS1(Succ(Zero), Zero) 149.40/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.75 149.40/106.75 We have to consider all minimal (P,Q,R)-chains. 149.40/106.75 ---------------------------------------- 149.40/106.75 149.40/106.75 (671) TransformationProof (EQUIVALENT) 149.40/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.40/106.75 149.40/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 149.40/106.75 149.40/106.75 149.40/106.75 ---------------------------------------- 149.40/106.75 149.40/106.75 (672) 149.40/106.75 Obligation: 149.40/106.75 Q DP problem: 149.40/106.75 The TRS P consists of the following rules: 149.40/106.75 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.40/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.75 new_gcd0Gcd'00(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))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.40/106.75 new_gcd0Gcd'00(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))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.75 new_gcd0Gcd'00(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))))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.75 new_gcd0Gcd'00(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))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.40/106.75 new_gcd0Gcd'00(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))))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.40/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.40/106.75 new_gcd0Gcd'00(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))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 149.40/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.40/106.75 149.40/106.75 The TRS R consists of the following rules: 149.40/106.75 149.40/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.40/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.40/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.40/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.40/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.40/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.40/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.40/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.40/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.40/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.40/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.40/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.40/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.40/106.75 new_primMinusNatS1 -> Zero 149.40/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.40/106.75 149.40/106.75 The set Q consists of the following terms: 149.40/106.75 149.40/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.40/106.75 new_primModNatS02(x0, x1) 149.40/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.40/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.40/106.75 new_primMinusNatS1 149.40/106.75 new_primMinusNatS0(x0) 149.40/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.40/106.75 new_primModNatS1(Zero, x0) 149.40/106.75 new_primMinusNatS2(Zero, Zero) 149.40/106.75 new_primModNatS1(Succ(Zero), Zero) 149.40/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.40/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.40/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.40/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.40/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.40/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.40/106.75 149.40/106.75 We have to consider all minimal (P,Q,R)-chains. 149.40/106.75 ---------------------------------------- 149.40/106.75 149.40/106.75 (673) TransformationProof (EQUIVALENT) 149.40/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (674) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (675) DependencyGraphProof (EQUIVALENT) 149.44/106.75 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (676) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (677) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(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'00(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)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (678) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (679) TransformationProof (EQUIVALENT) 149.44/106.75 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 149.44/106.75 (new_gcd0Gcd'00(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'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (680) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (681) TransformationProof (EQUIVALENT) 149.44/106.75 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (682) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (683) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (684) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (685) DependencyGraphProof (EQUIVALENT) 149.44/106.75 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (686) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (687) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (688) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (689) TransformationProof (EQUIVALENT) 149.44/106.75 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(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'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 149.44/106.75 (new_gcd0Gcd'00(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'00(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)))) 149.44/106.75 (new_gcd0Gcd'00(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'00(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))))) 149.44/106.75 (new_gcd0Gcd'00(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'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (690) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(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)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (691) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (692) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(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)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (693) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(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]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (694) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (695) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (696) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (697) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (698) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (699) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (700) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (701) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (702) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (703) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(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'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (704) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (705) DependencyGraphProof (EQUIVALENT) 149.44/106.75 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (706) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (707) TransformationProof (EQUIVALENT) 149.44/106.75 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(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'00(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)))))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (708) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (709) TransformationProof (EQUIVALENT) 149.44/106.75 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 149.44/106.75 (new_gcd0Gcd'00(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'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (710) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 149.44/106.75 The TRS R consists of the following rules: 149.44/106.75 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.75 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.75 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.75 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.75 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.75 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.75 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.75 new_primMinusNatS1 -> Zero 149.44/106.75 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.75 149.44/106.75 The set Q consists of the following terms: 149.44/106.75 149.44/106.75 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.75 new_primModNatS02(x0, x1) 149.44/106.75 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.75 new_primMinusNatS1 149.44/106.75 new_primMinusNatS0(x0) 149.44/106.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.75 new_primModNatS1(Zero, x0) 149.44/106.75 new_primMinusNatS2(Zero, Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Zero) 149.44/106.75 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.75 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.75 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.75 149.44/106.75 We have to consider all minimal (P,Q,R)-chains. 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (711) TransformationProof (EQUIVALENT) 149.44/106.75 By narrowing [LPAR04] the rule new_gcd0Gcd'00(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]: 149.44/106.75 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 149.44/106.75 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 149.44/106.75 149.44/106.75 149.44/106.75 ---------------------------------------- 149.44/106.75 149.44/106.75 (712) 149.44/106.75 Obligation: 149.44/106.75 Q DP problem: 149.44/106.75 The TRS P consists of the following rules: 149.44/106.75 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.75 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.75 new_gcd0Gcd'00(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))))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.75 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.75 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 The set Q consists of the following terms: 149.44/106.76 149.44/106.76 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.76 new_primModNatS02(x0, x1) 149.44/106.76 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.76 new_primMinusNatS1 149.44/106.76 new_primMinusNatS0(x0) 149.44/106.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.76 new_primModNatS1(Zero, x0) 149.44/106.76 new_primMinusNatS2(Zero, Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.76 149.44/106.76 We have to consider all minimal (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (713) TransformationProof (EQUIVALENT) 149.44/106.76 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.76 149.44/106.76 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (714) 149.44/106.76 Obligation: 149.44/106.76 Q DP problem: 149.44/106.76 The TRS P consists of the following rules: 149.44/106.76 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.76 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 The set Q consists of the following terms: 149.44/106.76 149.44/106.76 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.76 new_primModNatS02(x0, x1) 149.44/106.76 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.76 new_primMinusNatS1 149.44/106.76 new_primMinusNatS0(x0) 149.44/106.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.76 new_primModNatS1(Zero, x0) 149.44/106.76 new_primMinusNatS2(Zero, Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.76 149.44/106.76 We have to consider all minimal (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (715) DependencyGraphProof (EQUIVALENT) 149.44/106.76 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (716) 149.44/106.76 Obligation: 149.44/106.76 Q DP problem: 149.44/106.76 The TRS P consists of the following rules: 149.44/106.76 149.44/106.76 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.76 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 The set Q consists of the following terms: 149.44/106.76 149.44/106.76 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.76 new_primModNatS02(x0, x1) 149.44/106.76 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.76 new_primMinusNatS1 149.44/106.76 new_primMinusNatS0(x0) 149.44/106.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.76 new_primModNatS1(Zero, x0) 149.44/106.76 new_primMinusNatS2(Zero, Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.76 149.44/106.76 We have to consider all minimal (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (717) TransformationProof (EQUIVALENT) 149.44/106.76 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 149.44/106.76 149.44/106.76 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (718) 149.44/106.76 Obligation: 149.44/106.76 Q DP problem: 149.44/106.76 The TRS P consists of the following rules: 149.44/106.76 149.44/106.76 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.76 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 The set Q consists of the following terms: 149.44/106.76 149.44/106.76 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.76 new_primModNatS02(x0, x1) 149.44/106.76 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.76 new_primMinusNatS1 149.44/106.76 new_primMinusNatS0(x0) 149.44/106.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.76 new_primModNatS1(Zero, x0) 149.44/106.76 new_primMinusNatS2(Zero, Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.76 149.44/106.76 We have to consider all minimal (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (719) QDPOrderProof (EQUIVALENT) 149.44/106.76 We use the reduction pair processor [LPAR04,JAR06]. 149.44/106.76 149.44/106.76 149.44/106.76 The following pairs can be oriented strictly and are deleted. 149.44/106.76 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 The remaining pairs can at least be oriented weakly. 149.44/106.76 Used ordering: Polynomial interpretation [POLO]: 149.44/106.76 149.44/106.76 POL(False) = 1 149.44/106.76 POL(Neg(x_1)) = 1 149.44/106.76 POL(Pos(x_1)) = x_1 149.44/106.76 POL(Succ(x_1)) = 1 149.44/106.76 POL(Zero) = 0 149.44/106.76 POL(new_gcd0Gcd'(x_1, x_2)) = x_2 149.44/106.76 POL(new_gcd0Gcd'00(x_1, x_2)) = 1 149.44/106.76 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_1 149.44/106.76 POL(new_primMinusNatS0(x_1)) = 1 + x_1 149.44/106.76 POL(new_primMinusNatS1) = 1 149.44/106.76 POL(new_primMinusNatS2(x_1, x_2)) = 0 149.44/106.76 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 149.44/106.76 POL(new_primModNatS02(x_1, x_2)) = 1 149.44/106.76 POL(new_primModNatS1(x_1, x_2)) = x_2 149.44/106.76 149.44/106.76 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 149.44/106.76 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (720) 149.44/106.76 Obligation: 149.44/106.76 Q DP problem: 149.44/106.76 The TRS P consists of the following rules: 149.44/106.76 149.44/106.76 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.76 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 The set Q consists of the following terms: 149.44/106.76 149.44/106.76 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.76 new_primModNatS02(x0, x1) 149.44/106.76 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.76 new_primMinusNatS1 149.44/106.76 new_primMinusNatS0(x0) 149.44/106.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.76 new_primModNatS1(Zero, x0) 149.44/106.76 new_primMinusNatS2(Zero, Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.76 149.44/106.76 We have to consider all minimal (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (721) QDPOrderProof (EQUIVALENT) 149.44/106.76 We use the reduction pair processor [LPAR04,JAR06]. 149.44/106.76 149.44/106.76 149.44/106.76 The following pairs can be oriented strictly and are deleted. 149.44/106.76 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 149.44/106.76 The remaining pairs can at least be oriented weakly. 149.44/106.76 Used ordering: Polynomial interpretation [POLO]: 149.44/106.76 149.44/106.76 POL(False) = 1 149.44/106.76 POL(Neg(x_1)) = 1 + x_1 149.44/106.76 POL(Pos(x_1)) = 1 + x_1 149.44/106.76 POL(Succ(x_1)) = 1 149.44/106.76 POL(Zero) = 0 149.44/106.76 POL(new_gcd0Gcd'(x_1, x_2)) = x_2 149.44/106.76 POL(new_gcd0Gcd'00(x_1, x_2)) = x_2 149.44/106.76 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_3 149.44/106.76 POL(new_primMinusNatS0(x_1)) = 1 + x_1 149.44/106.76 POL(new_primMinusNatS1) = 1 149.44/106.76 POL(new_primMinusNatS2(x_1, x_2)) = 0 149.44/106.76 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 149.44/106.76 POL(new_primModNatS02(x_1, x_2)) = 1 149.44/106.76 POL(new_primModNatS1(x_1, x_2)) = x_2 149.44/106.76 149.44/106.76 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 149.44/106.76 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (722) 149.44/106.76 Obligation: 149.44/106.76 Q DP problem: 149.44/106.76 The TRS P consists of the following rules: 149.44/106.76 149.44/106.76 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.76 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 The set Q consists of the following terms: 149.44/106.76 149.44/106.76 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.76 new_primModNatS02(x0, x1) 149.44/106.76 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.76 new_primMinusNatS1 149.44/106.76 new_primMinusNatS0(x0) 149.44/106.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.76 new_primModNatS1(Zero, x0) 149.44/106.76 new_primMinusNatS2(Zero, Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.76 149.44/106.76 We have to consider all minimal (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (723) MNOCProof (EQUIVALENT) 149.44/106.76 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (724) 149.44/106.76 Obligation: 149.44/106.76 Q DP problem: 149.44/106.76 The TRS P consists of the following rules: 149.44/106.76 149.44/106.76 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.76 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 Q is empty. 149.44/106.76 We have to consider all (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (725) QDPOrderProof (EQUIVALENT) 149.44/106.76 We use the reduction pair processor [LPAR04,JAR06]. 149.44/106.76 149.44/106.76 149.44/106.76 The following pairs can be oriented strictly and are deleted. 149.44/106.76 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 The remaining pairs can at least be oriented weakly. 149.44/106.76 Used ordering: Polynomial interpretation [POLO]: 149.44/106.76 149.44/106.76 POL(False) = 2 149.44/106.76 POL(Neg(x_1)) = 2*x_1 149.44/106.76 POL(Pos(x_1)) = 0 149.44/106.76 POL(Succ(x_1)) = 1 + x_1 149.44/106.76 POL(Zero) = 1 149.44/106.76 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 149.44/106.76 POL(new_gcd0Gcd'00(x_1, x_2)) = 2*x_1 + 2*x_2 149.44/106.76 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 149.44/106.76 POL(new_primMinusNatS2(x_1, x_2)) = x_1 149.44/106.76 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 149.44/106.76 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 149.44/106.76 POL(new_primModNatS1(x_1, x_2)) = x_1 149.44/106.76 149.44/106.76 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 149.44/106.76 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (726) 149.44/106.76 Obligation: 149.44/106.76 Q DP problem: 149.44/106.76 The TRS P consists of the following rules: 149.44/106.76 149.44/106.76 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.76 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 The set Q consists of the following terms: 149.44/106.76 149.44/106.76 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.76 new_primModNatS02(x0, x1) 149.44/106.76 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.76 new_primMinusNatS1 149.44/106.76 new_primMinusNatS0(x0) 149.44/106.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.76 new_primModNatS1(Zero, x0) 149.44/106.76 new_primMinusNatS2(Zero, Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.76 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.76 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.76 149.44/106.76 We have to consider all minimal (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (727) MNOCProof (EQUIVALENT) 149.44/106.76 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (728) 149.44/106.76 Obligation: 149.44/106.76 Q DP problem: 149.44/106.76 The TRS P consists of the following rules: 149.44/106.76 149.44/106.76 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.76 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.76 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 new_gcd0Gcd'00(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))) 149.44/106.76 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 The TRS R consists of the following rules: 149.44/106.76 149.44/106.76 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.76 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.76 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.76 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.76 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.76 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.76 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.76 new_primMinusNatS1 -> Zero 149.44/106.76 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.76 149.44/106.76 Q is empty. 149.44/106.76 We have to consider all (P,Q,R)-chains. 149.44/106.76 ---------------------------------------- 149.44/106.76 149.44/106.76 (729) InductionCalculusProof (EQUIVALENT) 149.44/106.76 Note that final constraints are written in bold face. 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'(x2, Pos(Succ(x3))) -> new_gcd0Gcd'10(False, x2, Pos(Succ(x3))), new_gcd0Gcd'10(False, x4, x5) -> new_gcd0Gcd'00(x4, x5) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'10(False, x2, Pos(Succ(x3)))=new_gcd0Gcd'10(False, x4, x5) ==> new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'10(False, x2, Pos(Succ(x3)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'10(False, x2, Pos(Succ(x3)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x56, x57) -> new_gcd0Gcd'00(x56, x57), new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x58)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x58))), Pos(Succ(Zero))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x56, x57)=new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x58)))) ==> new_gcd0Gcd'10(False, x56, x57)_>=_new_gcd0Gcd'00(x56, x57)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x59, x60) -> new_gcd0Gcd'00(x59, x60), new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x61)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x61))), Pos(Succ(Zero))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x59, x60)=new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x61)))) ==> new_gcd0Gcd'10(False, x59, x60)_>=_new_gcd0Gcd'00(x59, x60)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x61))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x62, x63) -> new_gcd0Gcd'00(x62, x63), new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x64)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x64))), Neg(Succ(Zero))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x62, x63)=new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x64)))) ==> new_gcd0Gcd'10(False, x62, x63)_>=_new_gcd0Gcd'00(x62, x63)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x64))))_>=_new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x64))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x67, x68) -> new_gcd0Gcd'00(x67, x68), new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x69)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x69))), Neg(Succ(Zero))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x67, x68)=new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x69)))) ==> new_gcd0Gcd'10(False, x67, x68)_>=_new_gcd0Gcd'00(x67, x68)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x69))))_>=_new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x69))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x70, x71) -> new_gcd0Gcd'00(x70, x71), new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x72))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x72)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x70, x71)=new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x72))))) ==> new_gcd0Gcd'10(False, x70, x71)_>=_new_gcd0Gcd'00(x70, x71)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x72)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x72)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x73, x74) -> new_gcd0Gcd'00(x73, x74), new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x75))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x75)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x73, x74)=new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x75))))) ==> new_gcd0Gcd'10(False, x73, x74)_>=_new_gcd0Gcd'00(x73, x74)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x75)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x75)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x76, x77) -> new_gcd0Gcd'00(x76, x77), new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x78))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x78)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x76, x77)=new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x78))))) ==> new_gcd0Gcd'10(False, x76, x77)_>=_new_gcd0Gcd'00(x76, x77)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x78)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x78)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x79, x80) -> new_gcd0Gcd'00(x79, x80), new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x81))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x81)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x79, x80)=new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x81))))) ==> new_gcd0Gcd'10(False, x79, x80)_>=_new_gcd0Gcd'00(x79, x80)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x81)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x81)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x82, x83) -> new_gcd0Gcd'00(x82, x83), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x84))))), Neg(Succ(Succ(Succ(Succ(x85)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x85))))), Pos(new_primModNatS01(Succ(Succ(x84)), Succ(Succ(x85)), x84, x85))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x82, x83)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x84))))), Neg(Succ(Succ(Succ(Succ(x85)))))) ==> new_gcd0Gcd'10(False, x82, x83)_>=_new_gcd0Gcd'00(x82, x83)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x84))))), Neg(Succ(Succ(Succ(Succ(x85))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x84))))), Neg(Succ(Succ(Succ(Succ(x85))))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x86, x87) -> new_gcd0Gcd'00(x86, x87), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x88)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x86, x87)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x88)))))) ==> new_gcd0Gcd'10(False, x86, x87)_>=_new_gcd0Gcd'00(x86, x87)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x88))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x88))))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x89, x90) -> new_gcd0Gcd'00(x89, x90), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x91))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x91), Succ(Succ(Zero))))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x89, x90)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x91))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, x89, x90)_>=_new_gcd0Gcd'00(x89, x90)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x91))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x91))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x92, x93) -> new_gcd0Gcd'00(x92, x93), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x92, x93)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, x92, x93)_>=_new_gcd0Gcd'00(x92, x93)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x94, x95) -> new_gcd0Gcd'00(x94, x95), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x96))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x96, Zero, x96, Zero))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x94, x95)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x96))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, x94, x95)_>=_new_gcd0Gcd'00(x94, x95)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x96))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x96))))), Neg(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x97, x98) -> new_gcd0Gcd'00(x97, x98), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x99))))), Pos(Succ(Succ(Succ(Succ(x100)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x100))))), Pos(new_primModNatS01(Succ(Succ(x99)), Succ(Succ(x100)), x99, x100))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x97, x98)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x99))))), Pos(Succ(Succ(Succ(Succ(x100)))))) ==> new_gcd0Gcd'10(False, x97, x98)_>=_new_gcd0Gcd'00(x97, x98)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x99))))), Pos(Succ(Succ(Succ(Succ(x100))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x99))))), Pos(Succ(Succ(Succ(Succ(x100))))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x101, x102) -> new_gcd0Gcd'00(x101, x102), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x101, x102)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103)))))) ==> new_gcd0Gcd'10(False, x101, x102)_>=_new_gcd0Gcd'00(x101, x102)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x104, x105) -> new_gcd0Gcd'00(x104, x105), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x106))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x106), Succ(Succ(Zero))))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x104, x105)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x106))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, x104, x105)_>=_new_gcd0Gcd'00(x104, x105)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x106))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x106))))), Pos(Succ(Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x107, x108) -> new_gcd0Gcd'00(x107, x108), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x107, x108)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, x107, x108)_>=_new_gcd0Gcd'00(x107, x108)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x109, x110) -> new_gcd0Gcd'00(x109, x110), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x111))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x111, Zero, x111, Zero))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x109, x110)=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x111))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, x109, x110)_>=_new_gcd0Gcd'00(x109, x110)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x111))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x111))))), Pos(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x112, x113) -> new_gcd0Gcd'00(x112, x113), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x114))))), Pos(Succ(Succ(Succ(Succ(x115)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x115))))), Neg(new_primModNatS01(Succ(Succ(x114)), Succ(Succ(x115)), x114, x115))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x112, x113)=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x114))))), Pos(Succ(Succ(Succ(Succ(x115)))))) ==> new_gcd0Gcd'10(False, x112, x113)_>=_new_gcd0Gcd'00(x112, x113)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x114))))), Pos(Succ(Succ(Succ(Succ(x115))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x114))))), Pos(Succ(Succ(Succ(Succ(x115))))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x116, x117) -> new_gcd0Gcd'00(x116, x117), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x118)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x118))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x116, x117)=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x118)))))) ==> new_gcd0Gcd'10(False, x116, x117)_>=_new_gcd0Gcd'00(x116, x117)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x118))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x118))))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x119, x120) -> new_gcd0Gcd'00(x119, x120), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x121))))), Neg(Succ(Succ(Succ(Succ(x122)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x122))))), Neg(new_primModNatS01(Succ(Succ(x121)), Succ(Succ(x122)), x121, x122))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x119, x120)=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x121))))), Neg(Succ(Succ(Succ(Succ(x122)))))) ==> new_gcd0Gcd'10(False, x119, x120)_>=_new_gcd0Gcd'00(x119, x120)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x121))))), Neg(Succ(Succ(Succ(Succ(x122))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x121))))), Neg(Succ(Succ(Succ(Succ(x122))))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 *We consider the chain new_gcd0Gcd'10(False, x123, x124) -> new_gcd0Gcd'00(x123, x124), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x125)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x125))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'00(x123, x124)=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x125)))))) ==> new_gcd0Gcd'10(False, x123, x124)_>=_new_gcd0Gcd'00(x123, x124)) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x125))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x125))))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x126)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x126))), Pos(Succ(Zero))), new_gcd0Gcd'(x127, Pos(Succ(x128))) -> new_gcd0Gcd'10(False, x127, Pos(Succ(x128))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(x126))), Pos(Succ(Zero)))=new_gcd0Gcd'(x127, Pos(Succ(x128))) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x126))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x126))), Pos(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x126))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x126))), Pos(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x153)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x153))), Pos(Succ(Zero))), new_gcd0Gcd'(x154, Pos(Succ(x155))) -> new_gcd0Gcd'10(False, x154, Pos(Succ(x155))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(x153))), Pos(Succ(Zero)))=new_gcd0Gcd'(x154, Pos(Succ(x155))) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x153))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x153))), Pos(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x153))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x153))), Pos(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x185)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x185))), Neg(Succ(Zero))), new_gcd0Gcd'(x186, Neg(Succ(x187))) -> new_gcd0Gcd'10(False, x186, Neg(Succ(x187))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(x185))), Neg(Succ(Zero)))=new_gcd0Gcd'(x186, Neg(Succ(x187))) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x185))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x185))), Neg(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x185))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x185))), Neg(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'(x209, Neg(Succ(x210))) -> new_gcd0Gcd'10(False, x209, Neg(Succ(x210))), new_gcd0Gcd'10(False, x211, x212) -> new_gcd0Gcd'00(x211, x212) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'10(False, x209, Neg(Succ(x210)))=new_gcd0Gcd'10(False, x211, x212) ==> new_gcd0Gcd'(x209, Neg(Succ(x210)))_>=_new_gcd0Gcd'10(False, x209, Neg(Succ(x210)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'(x209, Neg(Succ(x210)))_>=_new_gcd0Gcd'10(False, x209, Neg(Succ(x210)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x264)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x264))), Neg(Succ(Zero))), new_gcd0Gcd'(x265, Neg(Succ(x266))) -> new_gcd0Gcd'10(False, x265, Neg(Succ(x266))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(x264))), Neg(Succ(Zero)))=new_gcd0Gcd'(x265, Neg(Succ(x266))) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x264))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x264))), Neg(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x264))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x264))), Neg(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x286))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x286)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'(x287, Pos(Succ(x288))) -> new_gcd0Gcd'10(False, x287, Pos(Succ(x288))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x286)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'(x287, Pos(Succ(x288))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x286)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x286)))), Pos(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x286)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x286)))), Pos(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x313))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x313)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'(x314, Pos(Succ(x315))) -> new_gcd0Gcd'10(False, x314, Pos(Succ(x315))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x313)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'(x314, Pos(Succ(x315))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x313)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x313)))), Pos(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x313)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x313)))), Pos(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x345))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x345)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'(x346, Neg(Succ(x347))) -> new_gcd0Gcd'10(False, x346, Neg(Succ(x347))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x345)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'(x346, Neg(Succ(x347))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x345)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x345)))), Neg(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x345)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x345)))), Neg(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x372))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x372)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'(x373, Neg(Succ(x374))) -> new_gcd0Gcd'10(False, x373, Neg(Succ(x374))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x372)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'(x373, Neg(Succ(x374))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x372)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x372)))), Neg(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x372)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x372)))), Neg(Succ(Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(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: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x394))))), Neg(Succ(Succ(Succ(Succ(x395)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x395))))), Pos(new_primModNatS01(Succ(Succ(x394)), Succ(Succ(x395)), x394, x395))), new_gcd0Gcd'(x396, Pos(Succ(x397))) -> new_gcd0Gcd'10(False, x396, Pos(Succ(x397))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x395))))), Pos(new_primModNatS01(Succ(Succ(x394)), Succ(Succ(x395)), x394, x395)))=new_gcd0Gcd'(x396, Pos(Succ(x397))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x394))))), Neg(Succ(Succ(Succ(Succ(x395))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x395))))), Pos(new_primModNatS01(Succ(Succ(x394)), Succ(Succ(x395)), x394, x395)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (Succ(Succ(x394))=x822 & Succ(Succ(x395))=x823 & new_primModNatS01(x822, x823, x394, x395)=Succ(x397) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x394))))), Neg(Succ(Succ(Succ(Succ(x395))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x395))))), Pos(new_primModNatS01(Succ(Succ(x394)), Succ(Succ(x395)), x394, x395)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x822, x823, x394, x395)=Succ(x397) which results in the following new constraints: 149.44/106.76 149.44/106.76 (3) (new_primModNatS02(x825, x824)=Succ(x397) & Succ(Succ(Zero))=x825 & Succ(Succ(Zero))=x824 ==> new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 (4) (new_primModNatS01(x829, x828, x827, x826)=Succ(x397) & Succ(Succ(Succ(x827)))=x829 & Succ(Succ(Succ(x826)))=x828 & (\/x830:new_primModNatS01(x829, x828, x827, x826)=Succ(x830) & Succ(Succ(x827))=x829 & Succ(Succ(x826))=x828 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x827))))), Neg(Succ(Succ(Succ(Succ(x826))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x826))))), Pos(new_primModNatS01(Succ(Succ(x827)), Succ(Succ(x826)), x827, x826)))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x827)))))), Neg(Succ(Succ(Succ(Succ(Succ(x826)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x826)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x827))), Succ(Succ(Succ(x826))), Succ(x827), Succ(x826))))) 149.44/106.76 149.44/106.76 (5) (new_primModNatS02(x833, x832)=Succ(x397) & Succ(Succ(Succ(x831)))=x833 & Succ(Succ(Zero))=x832 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x831)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x831))), Succ(Succ(Zero)), Succ(x831), Zero)))) 149.44/106.76 149.44/106.76 (6) (Succ(Succ(x836))=Succ(x397) & Succ(Succ(Zero))=x836 & Succ(Succ(Succ(x834)))=x835 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x834)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x834)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x834))), Zero, Succ(x834))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x825, x824)=Succ(x397) which results in the following new constraint: 149.44/106.76 149.44/106.76 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x838), Succ(x837)), Succ(x837))=Succ(x397) & Succ(Succ(Zero))=x838 & Succ(Succ(Zero))=x837 ==> new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (4) using rule (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (8) (new_primModNatS01(x829, x828, x827, x826)=Succ(x397) & Succ(Succ(Succ(x827)))=x829 & Succ(Succ(Succ(x826)))=x828 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x827)))))), Neg(Succ(Succ(Succ(Succ(Succ(x826)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x826)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x827))), Succ(Succ(Succ(x826))), Succ(x827), Succ(x826))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x833, x832)=Succ(x397) which results in the following new constraint: 149.44/106.76 149.44/106.76 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x857), Succ(x856)), Succ(x856))=Succ(x397) & Succ(Succ(Succ(x831)))=x857 & Succ(Succ(Zero))=x856 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x831)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x831))), Succ(Succ(Zero)), Succ(x831), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (10) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x834)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x834)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x834))), Zero, Succ(x834))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (11) (new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x829, x828, x827, x826)=Succ(x397) which results in the following new constraints: 149.44/106.76 149.44/106.76 (12) (new_primModNatS02(x844, x843)=Succ(x397) & Succ(Succ(Succ(Zero)))=x844 & Succ(Succ(Succ(Zero)))=x843 ==> new_gcd0Gcd'00(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))))) 149.44/106.76 149.44/106.76 (13) (new_primModNatS01(x848, x847, x846, x845)=Succ(x397) & Succ(Succ(Succ(Succ(x846))))=x848 & Succ(Succ(Succ(Succ(x845))))=x847 & (\/x849:new_primModNatS01(x848, x847, x846, x845)=Succ(x849) & Succ(Succ(Succ(x846)))=x848 & Succ(Succ(Succ(x845)))=x847 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x846)))))), Neg(Succ(Succ(Succ(Succ(Succ(x845)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x845)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x846))), Succ(Succ(Succ(x845))), Succ(x846), Succ(x845))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x846))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x845))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x845))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x846)))), Succ(Succ(Succ(Succ(x845)))), Succ(Succ(x846)), Succ(Succ(x845)))))) 149.44/106.76 149.44/106.76 (14) (new_primModNatS02(x852, x851)=Succ(x397) & Succ(Succ(Succ(Succ(x850))))=x852 & Succ(Succ(Succ(Zero)))=x851 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x850))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x850)))), Succ(Succ(Succ(Zero))), Succ(Succ(x850)), Succ(Zero))))) 149.44/106.76 149.44/106.76 (15) (Succ(Succ(x855))=Succ(x397) & Succ(Succ(Succ(Zero)))=x855 & Succ(Succ(Succ(Succ(x853))))=x854 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x853))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x853))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x853)))), Succ(Zero), Succ(Succ(x853)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (16) (new_gcd0Gcd'00(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))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (17) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x846))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x845))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x845))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x846)))), Succ(Succ(Succ(Succ(x845)))), Succ(Succ(x846)), Succ(Succ(x845)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (18) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x850))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x850)))), Succ(Succ(Succ(Zero))), Succ(Succ(x850)), Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x853))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x853))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x853)))), Succ(Zero), Succ(Succ(x853)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (20) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x831)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x831))), Succ(Succ(Zero)), Succ(x831), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x446)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x446))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x447, Pos(Succ(x448))) -> new_gcd0Gcd'10(False, x447, Pos(Succ(x448))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x446))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x447, Pos(Succ(x448))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x446))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x446))))), Pos(Succ(Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x446))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x446))))), Pos(Succ(Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x473))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x473), Succ(Succ(Zero))))), new_gcd0Gcd'(x474, Pos(Succ(x475))) -> new_gcd0Gcd'10(False, x474, Pos(Succ(x475))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x473), Succ(Succ(Zero)))))=new_gcd0Gcd'(x474, Pos(Succ(x475))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x473))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x473), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (Succ(x473)=x862 & Succ(Succ(Zero))=x863 & new_primModNatS1(x862, x863)=Succ(x475) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x473))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x473), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x862, x863)=Succ(x475) which results in the following new constraints: 149.44/106.76 149.44/106.76 (3) (Succ(Zero)=Succ(x475) & Succ(x473)=Succ(Zero) & Succ(Succ(Zero))=Succ(x864) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x473))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x473), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x475) & Succ(x473)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x473))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x473), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (5) (new_primModNatS1(new_primMinusNatS0(x866), Zero)=Succ(x475) & Succ(x473)=Succ(Succ(x866)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x473))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x473), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (6) (new_primModNatS01(x868, x867, x868, x867)=Succ(x475) & Succ(x473)=Succ(Succ(x868)) & Succ(Succ(Zero))=Succ(x867) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x473))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x473), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (7) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (8) (x868=x869 & x867=x870 & new_primModNatS01(x868, x867, x869, x870)=Succ(x475) & Succ(Zero)=x867 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x868)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x868)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x868, x867, x869, x870)=Succ(x475) which results in the following new constraints: 149.44/106.76 149.44/106.76 (9) (new_primModNatS02(x872, x871)=Succ(x475) & x872=Zero & x871=Zero & Succ(Zero)=x871 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x872)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x872)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (10) (new_primModNatS01(x876, x875, x874, x873)=Succ(x475) & x876=Succ(x874) & x875=Succ(x873) & Succ(Zero)=x875 & (\/x877:new_primModNatS01(x876, x875, x874, x873)=Succ(x877) & x876=x874 & x875=x873 & Succ(Zero)=x875 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x876)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x876)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x876)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x876)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (11) (new_primModNatS02(x880, x879)=Succ(x475) & x880=Succ(x878) & x879=Zero & Succ(Zero)=x879 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x880)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x880)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (12) (Succ(Succ(x883))=Succ(x475) & x883=Zero & x882=Succ(x881) & Succ(Zero)=x882 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x883)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x883)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x874))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x874))), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), new_gcd0Gcd'(x500, Pos(Succ(x501))) -> new_gcd0Gcd'10(False, x500, Pos(Succ(x501))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_gcd0Gcd'(x500, Pos(Succ(x501))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x502))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x502, Zero, x502, Zero))), new_gcd0Gcd'(x503, Pos(Succ(x504))) -> new_gcd0Gcd'10(False, x503, Pos(Succ(x504))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x502, Zero, x502, Zero)))=new_gcd0Gcd'(x503, Pos(Succ(x504))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x502))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x502, Zero, x502, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (Zero=x886 & x502=x887 & Zero=x888 & new_primModNatS01(x502, x886, x887, x888)=Succ(x504) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x502))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x502, Zero, x502, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x502, x886, x887, x888)=Succ(x504) which results in the following new constraints: 149.44/106.76 149.44/106.76 (3) (new_primModNatS02(x890, x889)=Succ(x504) & Zero=x889 & x890=Zero & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x890, Zero, x890, Zero)))) 149.44/106.76 149.44/106.76 (4) (new_primModNatS01(x894, x893, x892, x891)=Succ(x504) & Zero=x893 & x894=Succ(x892) & Zero=Succ(x891) & (\/x895:new_primModNatS01(x894, x893, x892, x891)=Succ(x895) & Zero=x893 & x894=x892 & Zero=x891 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x894))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x894, Zero, x894, Zero)))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x894))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x894, Zero, x894, Zero)))) 149.44/106.76 149.44/106.76 (5) (new_primModNatS02(x898, x897)=Succ(x504) & Zero=x897 & x898=Succ(x896) & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x898))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x898, Zero, x898, Zero)))) 149.44/106.76 149.44/106.76 (6) (Succ(Succ(x901))=Succ(x504) & Zero=x900 & x901=Zero & Zero=Succ(x899) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x901))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x901, Zero, x901, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (7) (Zero=x902 & new_primModNatS02(x902, x889)=Succ(x504) & Zero=x889 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (8) (Succ(x896)=x909 & new_primModNatS02(x909, x897)=Succ(x504) & Zero=x897 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x896)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x896), Zero, Succ(x896), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x902, x889)=Succ(x504) which results in the following new constraint: 149.44/106.76 149.44/106.76 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x904), Succ(x903)), Succ(x903))=Succ(x504) & Zero=x904 & Zero=x903 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (10) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x909, x897)=Succ(x504) which results in the following new constraint: 149.44/106.76 149.44/106.76 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x911), Succ(x910)), Succ(x910))=Succ(x504) & Succ(x896)=x911 & Zero=x910 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x896)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x896), Zero, Succ(x896), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x896)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x896), Zero, Succ(x896), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(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: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x529))))), Pos(Succ(Succ(Succ(Succ(x530)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x530))))), Pos(new_primModNatS01(Succ(Succ(x529)), Succ(Succ(x530)), x529, x530))), new_gcd0Gcd'(x531, Pos(Succ(x532))) -> new_gcd0Gcd'10(False, x531, Pos(Succ(x532))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x530))))), Pos(new_primModNatS01(Succ(Succ(x529)), Succ(Succ(x530)), x529, x530)))=new_gcd0Gcd'(x531, Pos(Succ(x532))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x529))))), Pos(Succ(Succ(Succ(Succ(x530))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x530))))), Pos(new_primModNatS01(Succ(Succ(x529)), Succ(Succ(x530)), x529, x530)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (Succ(Succ(x529))=x916 & Succ(Succ(x530))=x917 & new_primModNatS01(x916, x917, x529, x530)=Succ(x532) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x529))))), Pos(Succ(Succ(Succ(Succ(x530))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x530))))), Pos(new_primModNatS01(Succ(Succ(x529)), Succ(Succ(x530)), x529, x530)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x916, x917, x529, x530)=Succ(x532) which results in the following new constraints: 149.44/106.76 149.44/106.76 (3) (new_primModNatS02(x919, x918)=Succ(x532) & Succ(Succ(Zero))=x919 & Succ(Succ(Zero))=x918 ==> new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 (4) (new_primModNatS01(x923, x922, x921, x920)=Succ(x532) & Succ(Succ(Succ(x921)))=x923 & Succ(Succ(Succ(x920)))=x922 & (\/x924:new_primModNatS01(x923, x922, x921, x920)=Succ(x924) & Succ(Succ(x921))=x923 & Succ(Succ(x920))=x922 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x921))))), Pos(Succ(Succ(Succ(Succ(x920))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x920))))), Pos(new_primModNatS01(Succ(Succ(x921)), Succ(Succ(x920)), x921, x920)))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x921)))))), Pos(Succ(Succ(Succ(Succ(Succ(x920)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x920)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x921))), Succ(Succ(Succ(x920))), Succ(x921), Succ(x920))))) 149.44/106.76 149.44/106.76 (5) (new_primModNatS02(x927, x926)=Succ(x532) & Succ(Succ(Succ(x925)))=x927 & Succ(Succ(Zero))=x926 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x925)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x925))), Succ(Succ(Zero)), Succ(x925), Zero)))) 149.44/106.76 149.44/106.76 (6) (Succ(Succ(x930))=Succ(x532) & Succ(Succ(Zero))=x930 & Succ(Succ(Succ(x928)))=x929 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x928)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x928)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x928))), Zero, Succ(x928))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x919, x918)=Succ(x532) which results in the following new constraint: 149.44/106.76 149.44/106.76 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x932), Succ(x931)), Succ(x931))=Succ(x532) & Succ(Succ(Zero))=x932 & Succ(Succ(Zero))=x931 ==> new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (4) using rule (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (8) (new_primModNatS01(x923, x922, x921, x920)=Succ(x532) & Succ(Succ(Succ(x921)))=x923 & Succ(Succ(Succ(x920)))=x922 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x921)))))), Pos(Succ(Succ(Succ(Succ(Succ(x920)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x920)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x921))), Succ(Succ(Succ(x920))), Succ(x921), Succ(x920))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x927, x926)=Succ(x532) which results in the following new constraint: 149.44/106.76 149.44/106.76 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x951), Succ(x950)), Succ(x950))=Succ(x532) & Succ(Succ(Succ(x925)))=x951 & Succ(Succ(Zero))=x950 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x925)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x925))), Succ(Succ(Zero)), Succ(x925), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (10) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x928)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x928)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x928))), Zero, Succ(x928))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (11) (new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x923, x922, x921, x920)=Succ(x532) which results in the following new constraints: 149.44/106.76 149.44/106.76 (12) (new_primModNatS02(x938, x937)=Succ(x532) & Succ(Succ(Succ(Zero)))=x938 & Succ(Succ(Succ(Zero)))=x937 ==> new_gcd0Gcd'00(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))))) 149.44/106.76 149.44/106.76 (13) (new_primModNatS01(x942, x941, x940, x939)=Succ(x532) & Succ(Succ(Succ(Succ(x940))))=x942 & Succ(Succ(Succ(Succ(x939))))=x941 & (\/x943:new_primModNatS01(x942, x941, x940, x939)=Succ(x943) & Succ(Succ(Succ(x940)))=x942 & Succ(Succ(Succ(x939)))=x941 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x940)))))), Pos(Succ(Succ(Succ(Succ(Succ(x939)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x939)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x940))), Succ(Succ(Succ(x939))), Succ(x940), Succ(x939))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x940))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x939))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x939))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x940)))), Succ(Succ(Succ(Succ(x939)))), Succ(Succ(x940)), Succ(Succ(x939)))))) 149.44/106.76 149.44/106.76 (14) (new_primModNatS02(x946, x945)=Succ(x532) & Succ(Succ(Succ(Succ(x944))))=x946 & Succ(Succ(Succ(Zero)))=x945 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x944))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x944)))), Succ(Succ(Succ(Zero))), Succ(Succ(x944)), Succ(Zero))))) 149.44/106.76 149.44/106.76 (15) (Succ(Succ(x949))=Succ(x532) & Succ(Succ(Succ(Zero)))=x949 & Succ(Succ(Succ(Succ(x947))))=x948 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x947))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x947))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x947)))), Succ(Zero), Succ(Succ(x947)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (16) (new_gcd0Gcd'00(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))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (17) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x940))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x939))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x939))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x940)))), Succ(Succ(Succ(Succ(x939)))), Succ(Succ(x940)), Succ(Succ(x939)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (18) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x944))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x944)))), Succ(Succ(Succ(Zero))), Succ(Succ(x944)), Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x947))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x947))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x947)))), Succ(Zero), Succ(Succ(x947)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (20) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x925)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x925))), Succ(Succ(Zero)), Succ(x925), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x581)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x581))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x582, Pos(Succ(x583))) -> new_gcd0Gcd'10(False, x582, Pos(Succ(x583))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x581))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x582, Pos(Succ(x583))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x581))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x581))))), Pos(Succ(Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x581))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x581))))), Pos(Succ(Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x608))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x608), Succ(Succ(Zero))))), new_gcd0Gcd'(x609, Pos(Succ(x610))) -> new_gcd0Gcd'10(False, x609, Pos(Succ(x610))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x608), Succ(Succ(Zero)))))=new_gcd0Gcd'(x609, Pos(Succ(x610))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x608))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x608), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (Succ(x608)=x956 & Succ(Succ(Zero))=x957 & new_primModNatS1(x956, x957)=Succ(x610) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x608))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x608), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x956, x957)=Succ(x610) which results in the following new constraints: 149.44/106.76 149.44/106.76 (3) (Succ(Zero)=Succ(x610) & Succ(x608)=Succ(Zero) & Succ(Succ(Zero))=Succ(x958) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x608))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x608), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x610) & Succ(x608)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x608))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x608), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (5) (new_primModNatS1(new_primMinusNatS0(x960), Zero)=Succ(x610) & Succ(x608)=Succ(Succ(x960)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x608))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x608), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (6) (new_primModNatS01(x962, x961, x962, x961)=Succ(x610) & Succ(x608)=Succ(Succ(x962)) & Succ(Succ(Zero))=Succ(x961) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x608))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x608), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (7) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (8) (x962=x963 & x961=x964 & new_primModNatS01(x962, x961, x963, x964)=Succ(x610) & Succ(Zero)=x961 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x962)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x962)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x962, x961, x963, x964)=Succ(x610) which results in the following new constraints: 149.44/106.76 149.44/106.76 (9) (new_primModNatS02(x966, x965)=Succ(x610) & x966=Zero & x965=Zero & Succ(Zero)=x965 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x966)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x966)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (10) (new_primModNatS01(x970, x969, x968, x967)=Succ(x610) & x970=Succ(x968) & x969=Succ(x967) & Succ(Zero)=x969 & (\/x971:new_primModNatS01(x970, x969, x968, x967)=Succ(x971) & x970=x968 & x969=x967 & Succ(Zero)=x969 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x970)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x970)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x970)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x970)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (11) (new_primModNatS02(x974, x973)=Succ(x610) & x974=Succ(x972) & x973=Zero & Succ(Zero)=x973 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x974)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x974)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 (12) (Succ(Succ(x977))=Succ(x610) & x977=Zero & x976=Succ(x975) & Succ(Zero)=x976 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x977)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x977)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x968))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x968))), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), new_gcd0Gcd'(x635, Pos(Succ(x636))) -> new_gcd0Gcd'10(False, x635, Pos(Succ(x636))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_gcd0Gcd'(x635, Pos(Succ(x636))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x637))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x637, Zero, x637, Zero))), new_gcd0Gcd'(x638, Pos(Succ(x639))) -> new_gcd0Gcd'10(False, x638, Pos(Succ(x639))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x637, Zero, x637, Zero)))=new_gcd0Gcd'(x638, Pos(Succ(x639))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x637))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x637, Zero, x637, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (Zero=x980 & x637=x981 & Zero=x982 & new_primModNatS01(x637, x980, x981, x982)=Succ(x639) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x637))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x637, Zero, x637, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x637, x980, x981, x982)=Succ(x639) which results in the following new constraints: 149.44/106.76 149.44/106.76 (3) (new_primModNatS02(x984, x983)=Succ(x639) & Zero=x983 & x984=Zero & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x984))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x984, Zero, x984, Zero)))) 149.44/106.76 149.44/106.76 (4) (new_primModNatS01(x988, x987, x986, x985)=Succ(x639) & Zero=x987 & x988=Succ(x986) & Zero=Succ(x985) & (\/x989:new_primModNatS01(x988, x987, x986, x985)=Succ(x989) & Zero=x987 & x988=x986 & Zero=x985 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x988))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x988, Zero, x988, Zero)))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x988))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x988, Zero, x988, Zero)))) 149.44/106.76 149.44/106.76 (5) (new_primModNatS02(x992, x991)=Succ(x639) & Zero=x991 & x992=Succ(x990) & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x992))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x992, Zero, x992, Zero)))) 149.44/106.76 149.44/106.76 (6) (Succ(Succ(x995))=Succ(x639) & Zero=x994 & x995=Zero & Zero=Succ(x993) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x995))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x995, Zero, x995, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (7) (Zero=x996 & new_primModNatS02(x996, x983)=Succ(x639) & Zero=x983 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (8) (Succ(x990)=x1003 & new_primModNatS02(x1003, x991)=Succ(x639) & Zero=x991 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x990)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x990), Zero, Succ(x990), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x996, x983)=Succ(x639) which results in the following new constraint: 149.44/106.76 149.44/106.76 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x998), Succ(x997)), Succ(x997))=Succ(x639) & Zero=x998 & Zero=x997 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (10) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1003, x991)=Succ(x639) which results in the following new constraint: 149.44/106.76 149.44/106.76 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1005), Succ(x1004)), Succ(x1004))=Succ(x639) & Succ(x990)=x1005 & Zero=x1004 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x990)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x990), Zero, Succ(x990), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x990)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x990), Zero, Succ(x990), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(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: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x674))))), Pos(Succ(Succ(Succ(Succ(x675)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x675))))), Neg(new_primModNatS01(Succ(Succ(x674)), Succ(Succ(x675)), x674, x675))), new_gcd0Gcd'(x676, Neg(Succ(x677))) -> new_gcd0Gcd'10(False, x676, Neg(Succ(x677))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x675))))), Neg(new_primModNatS01(Succ(Succ(x674)), Succ(Succ(x675)), x674, x675)))=new_gcd0Gcd'(x676, Neg(Succ(x677))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x674))))), Pos(Succ(Succ(Succ(Succ(x675))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x675))))), Neg(new_primModNatS01(Succ(Succ(x674)), Succ(Succ(x675)), x674, x675)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (Succ(Succ(x674))=x1010 & Succ(Succ(x675))=x1011 & new_primModNatS01(x1010, x1011, x674, x675)=Succ(x677) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x674))))), Pos(Succ(Succ(Succ(Succ(x675))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x675))))), Neg(new_primModNatS01(Succ(Succ(x674)), Succ(Succ(x675)), x674, x675)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1010, x1011, x674, x675)=Succ(x677) which results in the following new constraints: 149.44/106.76 149.44/106.76 (3) (new_primModNatS02(x1013, x1012)=Succ(x677) & Succ(Succ(Zero))=x1013 & Succ(Succ(Zero))=x1012 ==> new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 (4) (new_primModNatS01(x1017, x1016, x1015, x1014)=Succ(x677) & Succ(Succ(Succ(x1015)))=x1017 & Succ(Succ(Succ(x1014)))=x1016 & (\/x1018:new_primModNatS01(x1017, x1016, x1015, x1014)=Succ(x1018) & Succ(Succ(x1015))=x1017 & Succ(Succ(x1014))=x1016 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1015))))), Pos(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1014))))), Neg(new_primModNatS01(Succ(Succ(x1015)), Succ(Succ(x1014)), x1015, x1014)))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1015)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1014)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1014)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1015))), Succ(Succ(Succ(x1014))), Succ(x1015), Succ(x1014))))) 149.44/106.76 149.44/106.76 (5) (new_primModNatS02(x1021, x1020)=Succ(x677) & Succ(Succ(Succ(x1019)))=x1021 & Succ(Succ(Zero))=x1020 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1019)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1019))), Succ(Succ(Zero)), Succ(x1019), Zero)))) 149.44/106.76 149.44/106.76 (6) (Succ(Succ(x1024))=Succ(x677) & Succ(Succ(Zero))=x1024 & Succ(Succ(Succ(x1022)))=x1023 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1022)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1022)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1022))), Zero, Succ(x1022))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1013, x1012)=Succ(x677) which results in the following new constraint: 149.44/106.76 149.44/106.76 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1026), Succ(x1025)), Succ(x1025))=Succ(x677) & Succ(Succ(Zero))=x1026 & Succ(Succ(Zero))=x1025 ==> new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (4) using rule (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (8) (new_primModNatS01(x1017, x1016, x1015, x1014)=Succ(x677) & Succ(Succ(Succ(x1015)))=x1017 & Succ(Succ(Succ(x1014)))=x1016 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1015)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1014)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1014)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1015))), Succ(Succ(Succ(x1014))), Succ(x1015), Succ(x1014))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1021, x1020)=Succ(x677) which results in the following new constraint: 149.44/106.76 149.44/106.76 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1045), Succ(x1044)), Succ(x1044))=Succ(x677) & Succ(Succ(Succ(x1019)))=x1045 & Succ(Succ(Zero))=x1044 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1019)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1019))), Succ(Succ(Zero)), Succ(x1019), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (10) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1022)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1022)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1022))), Zero, Succ(x1022))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (11) (new_gcd0Gcd'00(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)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1017, x1016, x1015, x1014)=Succ(x677) which results in the following new constraints: 149.44/106.76 149.44/106.76 (12) (new_primModNatS02(x1032, x1031)=Succ(x677) & Succ(Succ(Succ(Zero)))=x1032 & Succ(Succ(Succ(Zero)))=x1031 ==> new_gcd0Gcd'00(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))))) 149.44/106.76 149.44/106.76 (13) (new_primModNatS01(x1036, x1035, x1034, x1033)=Succ(x677) & Succ(Succ(Succ(Succ(x1034))))=x1036 & Succ(Succ(Succ(Succ(x1033))))=x1035 & (\/x1037:new_primModNatS01(x1036, x1035, x1034, x1033)=Succ(x1037) & Succ(Succ(Succ(x1034)))=x1036 & Succ(Succ(Succ(x1033)))=x1035 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1034)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1033)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1033)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1034))), Succ(Succ(Succ(x1033))), Succ(x1034), Succ(x1033))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1034))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1033))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1033))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1034)))), Succ(Succ(Succ(Succ(x1033)))), Succ(Succ(x1034)), Succ(Succ(x1033)))))) 149.44/106.76 149.44/106.76 (14) (new_primModNatS02(x1040, x1039)=Succ(x677) & Succ(Succ(Succ(Succ(x1038))))=x1040 & Succ(Succ(Succ(Zero)))=x1039 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1038))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1038)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1038)), Succ(Zero))))) 149.44/106.76 149.44/106.76 (15) (Succ(Succ(x1043))=Succ(x677) & Succ(Succ(Succ(Zero)))=x1043 & Succ(Succ(Succ(Succ(x1041))))=x1042 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1041))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1041))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1041)))), Succ(Zero), Succ(Succ(x1041)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (16) (new_gcd0Gcd'00(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))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (17) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1034))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1033))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1033))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1034)))), Succ(Succ(Succ(Succ(x1033)))), Succ(Succ(x1034)), Succ(Succ(x1033)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (18) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1038))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1038)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1038)), Succ(Zero))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1041))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1041))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1041)))), Succ(Zero), Succ(Succ(x1041)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.76 149.44/106.76 (20) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1019)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1019))), Succ(Succ(Zero)), Succ(x1019), Zero)))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x721)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x721))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x722, Neg(Succ(x723))) -> new_gcd0Gcd'10(False, x722, Neg(Succ(x723))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x721))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x722, Neg(Succ(x723))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x721))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x721))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.76 149.44/106.76 (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x721))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x721))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 149.44/106.76 For Pair new_gcd0Gcd'00(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: 149.44/106.76 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x753))))), Neg(Succ(Succ(Succ(Succ(x754)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x754))))), Neg(new_primModNatS01(Succ(Succ(x753)), Succ(Succ(x754)), x753, x754))), new_gcd0Gcd'(x755, Neg(Succ(x756))) -> new_gcd0Gcd'10(False, x755, Neg(Succ(x756))) which results in the following constraint: 149.44/106.76 149.44/106.76 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x754))))), Neg(new_primModNatS01(Succ(Succ(x753)), Succ(Succ(x754)), x753, x754)))=new_gcd0Gcd'(x755, Neg(Succ(x756))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x753))))), Neg(Succ(Succ(Succ(Succ(x754))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x754))))), Neg(new_primModNatS01(Succ(Succ(x753)), Succ(Succ(x754)), x753, x754)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 149.44/106.77 149.44/106.77 (2) (Succ(Succ(x753))=x1050 & Succ(Succ(x754))=x1051 & new_primModNatS01(x1050, x1051, x753, x754)=Succ(x756) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x753))))), Neg(Succ(Succ(Succ(Succ(x754))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x754))))), Neg(new_primModNatS01(Succ(Succ(x753)), Succ(Succ(x754)), x753, x754)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1050, x1051, x753, x754)=Succ(x756) which results in the following new constraints: 149.44/106.77 149.44/106.77 (3) (new_primModNatS02(x1053, x1052)=Succ(x756) & Succ(Succ(Zero))=x1053 & Succ(Succ(Zero))=x1052 ==> new_gcd0Gcd'00(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)))) 149.44/106.77 149.44/106.77 (4) (new_primModNatS01(x1057, x1056, x1055, x1054)=Succ(x756) & Succ(Succ(Succ(x1055)))=x1057 & Succ(Succ(Succ(x1054)))=x1056 & (\/x1058:new_primModNatS01(x1057, x1056, x1055, x1054)=Succ(x1058) & Succ(Succ(x1055))=x1057 & Succ(Succ(x1054))=x1056 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1055))))), Neg(Succ(Succ(Succ(Succ(x1054))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1054))))), Neg(new_primModNatS01(Succ(Succ(x1055)), Succ(Succ(x1054)), x1055, x1054)))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1055)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1054)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1054)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1055))), Succ(Succ(Succ(x1054))), Succ(x1055), Succ(x1054))))) 149.44/106.77 149.44/106.77 (5) (new_primModNatS02(x1061, x1060)=Succ(x756) & Succ(Succ(Succ(x1059)))=x1061 & Succ(Succ(Zero))=x1060 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1059))), Succ(Succ(Zero)), Succ(x1059), Zero)))) 149.44/106.77 149.44/106.77 (6) (Succ(Succ(x1064))=Succ(x756) & Succ(Succ(Zero))=x1064 & Succ(Succ(Succ(x1062)))=x1063 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1062)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1062)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1062))), Zero, Succ(x1062))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1053, x1052)=Succ(x756) which results in the following new constraint: 149.44/106.77 149.44/106.77 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1066), Succ(x1065)), Succ(x1065))=Succ(x756) & Succ(Succ(Zero))=x1066 & Succ(Succ(Zero))=x1065 ==> new_gcd0Gcd'00(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)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (4) using rule (IV) which results in the following new constraint: 149.44/106.77 149.44/106.77 (8) (new_primModNatS01(x1057, x1056, x1055, x1054)=Succ(x756) & Succ(Succ(Succ(x1055)))=x1057 & Succ(Succ(Succ(x1054)))=x1056 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1055)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1054)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1054)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1055))), Succ(Succ(Succ(x1054))), Succ(x1055), Succ(x1054))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1061, x1060)=Succ(x756) which results in the following new constraint: 149.44/106.77 149.44/106.77 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1085), Succ(x1084)), Succ(x1084))=Succ(x756) & Succ(Succ(Succ(x1059)))=x1085 & Succ(Succ(Zero))=x1084 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1059))), Succ(Succ(Zero)), Succ(x1059), Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.77 149.44/106.77 (10) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1062)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1062)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1062))), Zero, Succ(x1062))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.77 149.44/106.77 (11) (new_gcd0Gcd'00(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)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1057, x1056, x1055, x1054)=Succ(x756) which results in the following new constraints: 149.44/106.77 149.44/106.77 (12) (new_primModNatS02(x1072, x1071)=Succ(x756) & Succ(Succ(Succ(Zero)))=x1072 & Succ(Succ(Succ(Zero)))=x1071 ==> new_gcd0Gcd'00(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))))) 149.44/106.77 149.44/106.77 (13) (new_primModNatS01(x1076, x1075, x1074, x1073)=Succ(x756) & Succ(Succ(Succ(Succ(x1074))))=x1076 & Succ(Succ(Succ(Succ(x1073))))=x1075 & (\/x1077:new_primModNatS01(x1076, x1075, x1074, x1073)=Succ(x1077) & Succ(Succ(Succ(x1074)))=x1076 & Succ(Succ(Succ(x1073)))=x1075 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1074)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1073)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1073)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1074))), Succ(Succ(Succ(x1073))), Succ(x1074), Succ(x1073))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1074))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1073))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1073))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1074)))), Succ(Succ(Succ(Succ(x1073)))), Succ(Succ(x1074)), Succ(Succ(x1073)))))) 149.44/106.77 149.44/106.77 (14) (new_primModNatS02(x1080, x1079)=Succ(x756) & Succ(Succ(Succ(Succ(x1078))))=x1080 & Succ(Succ(Succ(Zero)))=x1079 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1078))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1078)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1078)), Succ(Zero))))) 149.44/106.77 149.44/106.77 (15) (Succ(Succ(x1083))=Succ(x756) & Succ(Succ(Succ(Zero)))=x1083 & Succ(Succ(Succ(Succ(x1081))))=x1082 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1081))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1081))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1081)))), Succ(Zero), Succ(Succ(x1081)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 149.44/106.77 149.44/106.77 (16) (new_gcd0Gcd'00(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))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 149.44/106.77 149.44/106.77 (17) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1074))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1073))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1073))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1074)))), Succ(Succ(Succ(Succ(x1073)))), Succ(Succ(x1074)), Succ(Succ(x1073)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 149.44/106.77 149.44/106.77 (18) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1078))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1078)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1078)), Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.77 149.44/106.77 (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1081))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1081))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1081)))), Succ(Zero), Succ(Succ(x1081)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 149.44/106.77 149.44/106.77 (20) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1059))), Succ(Succ(Zero)), Succ(x1059), Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 149.44/106.77 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x800)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x800))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x801, Neg(Succ(x802))) -> new_gcd0Gcd'10(False, x801, Neg(Succ(x802))) which results in the following constraint: 149.44/106.77 149.44/106.77 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x800))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x801, Neg(Succ(x802))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x800))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x800))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 149.44/106.77 149.44/106.77 (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x800))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x800))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 To summarize, we get the following constraints P__>=_ for the following pairs. 149.44/106.77 149.44/106.77 *new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'10(False, x2, Pos(Succ(x3)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x58))))_>=_new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x58))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x61))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x64))))_>=_new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x64))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x69))))_>=_new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x69))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x72)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x72)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x75)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x75)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x78)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x78)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x81)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x81)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x84))))), Neg(Succ(Succ(Succ(Succ(x85))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x84))))), Neg(Succ(Succ(Succ(Succ(x85))))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x88))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x88))))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x91))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x91))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x96))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x96))))), Neg(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x99))))), Pos(Succ(Succ(Succ(Succ(x100))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x99))))), Pos(Succ(Succ(Succ(Succ(x100))))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x106))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x106))))), Pos(Succ(Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x111))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x111))))), Pos(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x114))))), Pos(Succ(Succ(Succ(Succ(x115))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x114))))), Pos(Succ(Succ(Succ(Succ(x115))))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x118))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x118))))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x121))))), Neg(Succ(Succ(Succ(Succ(x122))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x121))))), Neg(Succ(Succ(Succ(Succ(x122))))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x125))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x125))))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x126))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x126))), Pos(Succ(Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x153))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x153))), Pos(Succ(Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x185))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x185))), Neg(Succ(Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'(x209, Neg(Succ(x210)))_>=_new_gcd0Gcd'10(False, x209, Neg(Succ(x210)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x264))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x264))), Neg(Succ(Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x286)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x286)))), Pos(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x313)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x313)))), Pos(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x345)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x345)))), Neg(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x372)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x372)))), Neg(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(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))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x853))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x853))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x853)))), Succ(Zero), Succ(Succ(x853)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x834)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x834)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x834))), Zero, Succ(x834))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(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)))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(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))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x846))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x845))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x845))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x846)))), Succ(Succ(Succ(Succ(x845)))), Succ(Succ(x846)), Succ(Succ(x845)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x850))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x850)))), Succ(Succ(Succ(Zero))), Succ(Succ(x850)), Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x831)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x831))), Succ(Succ(Zero)), Succ(x831), Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x446))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x446))))), Pos(Succ(Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(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))))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x874))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x874))), Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x896)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x896), Zero, Succ(x896), Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(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))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x947))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x947))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x947)))), Succ(Zero), Succ(Succ(x947)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x928)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x928)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x928))), Zero, Succ(x928))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(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)))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(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))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x940))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x939))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x939))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x940)))), Succ(Succ(Succ(Succ(x939)))), Succ(Succ(x940)), Succ(Succ(x939)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x944))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x944)))), Succ(Succ(Succ(Zero))), Succ(Succ(x944)), Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x925)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x925))), Succ(Succ(Zero)), Succ(x925), Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x581))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x581))))), Pos(Succ(Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(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))))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x968))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x968))), Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x990)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x990), Zero, Succ(x990), Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(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))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1041))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1041))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1041)))), Succ(Zero), Succ(Succ(x1041)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1022)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1022)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1022))), Zero, Succ(x1022))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(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)))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(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))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1034))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1033))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1033))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1034)))), Succ(Succ(Succ(Succ(x1033)))), Succ(Succ(x1034)), Succ(Succ(x1033)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1038))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1038)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1038)), Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1019)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1019))), Succ(Succ(Zero)), Succ(x1019), Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x721))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x721))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(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))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1081))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1081))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1081)))), Succ(Zero), Succ(Succ(x1081)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1062)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1062)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1062))), Zero, Succ(x1062))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(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)))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(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))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1074))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1073))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1073))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1074)))), Succ(Succ(Succ(Succ(x1073)))), Succ(Succ(x1074)), Succ(Succ(x1073)))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1078))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1078)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1078)), Succ(Zero))))) 149.44/106.77 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x1059))), Succ(Succ(Zero)), Succ(x1059), Zero)))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x800))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x800))))), Neg(Succ(Succ(Succ(Zero)))))) 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.77 149.44/106.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. 149.44/106.77 ---------------------------------------- 149.44/106.77 149.44/106.77 (730) 149.44/106.77 Obligation: 149.44/106.77 Q DP problem: 149.44/106.77 The TRS P consists of the following rules: 149.44/106.77 149.44/106.77 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Pos(Succ(x0))) 149.44/106.77 new_gcd0Gcd'10(False, vuz56, vuz55) -> new_gcd0Gcd'00(vuz56, vuz55) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 149.44/106.77 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.77 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'10(False, y0, Neg(Succ(x0))) 149.44/106.77 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 149.44/106.77 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.77 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 149.44/106.77 new_gcd0Gcd'00(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))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.77 new_gcd0Gcd'00(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))))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.77 new_gcd0Gcd'00(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))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 149.44/106.77 new_gcd0Gcd'00(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))))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 149.44/106.77 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 149.44/106.77 new_gcd0Gcd'00(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))) 149.44/106.77 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.77 new_gcd0Gcd'00(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))) 149.44/106.77 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 149.44/106.77 149.44/106.77 The TRS R consists of the following rules: 149.44/106.77 149.44/106.77 new_primModNatS1(Succ(Zero), Succ(vuz50000)) -> Succ(Zero) 149.44/106.77 new_primModNatS1(Zero, vuz5000) -> Zero 149.44/106.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 149.44/106.77 new_primModNatS1(Succ(Succ(vuz51000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz51000), Zero) 149.44/106.77 new_primModNatS1(Succ(Succ(vuz51000)), Succ(vuz50000)) -> new_primModNatS01(vuz51000, vuz50000, vuz51000, vuz50000) 149.44/106.77 new_primModNatS01(vuz98, vuz99, Zero, Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.77 new_primModNatS02(vuz98, vuz99) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz98), Succ(vuz99)), Succ(vuz99)) 149.44/106.77 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Succ(vuz1010)) -> new_primModNatS01(vuz98, vuz99, vuz1000, vuz1010) 149.44/106.77 new_primModNatS01(vuz98, vuz99, Succ(vuz1000), Zero) -> new_primModNatS02(vuz98, vuz99) 149.44/106.77 new_primModNatS01(vuz98, vuz99, Zero, Succ(vuz1010)) -> Succ(Succ(vuz98)) 149.44/106.77 new_primMinusNatS2(Succ(vuz780), Succ(vuz790)) -> new_primMinusNatS2(vuz780, vuz790) 149.44/106.77 new_primMinusNatS2(Zero, Zero) -> Zero 149.44/106.77 new_primMinusNatS2(Zero, Succ(vuz790)) -> Zero 149.44/106.77 new_primMinusNatS2(Succ(vuz780), Zero) -> Succ(vuz780) 149.44/106.77 new_primMinusNatS1 -> Zero 149.44/106.77 new_primMinusNatS0(vuz28000) -> Succ(vuz28000) 149.44/106.77 149.44/106.77 The set Q consists of the following terms: 149.44/106.77 149.44/106.77 new_primMinusNatS2(Zero, Succ(x0)) 149.44/106.77 new_primModNatS02(x0, x1) 149.44/106.77 new_primMinusNatS2(Succ(x0), Zero) 149.44/106.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 149.44/106.77 new_primMinusNatS1 149.44/106.77 new_primMinusNatS0(x0) 149.44/106.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 149.44/106.77 new_primModNatS1(Zero, x0) 149.44/106.77 new_primMinusNatS2(Zero, Zero) 149.44/106.77 new_primModNatS1(Succ(Zero), Zero) 149.44/106.77 new_primModNatS1(Succ(Zero), Succ(x0)) 149.44/106.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 149.44/106.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 149.44/106.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 149.44/106.77 new_primModNatS1(Succ(Succ(x0)), Zero) 149.44/106.77 new_primModNatS01(x0, x1, Zero, Zero) 149.44/106.77 149.44/106.77 We have to consider all minimal (P,Q,R)-chains. 149.44/106.77 ---------------------------------------- 149.44/106.77 149.44/106.77 (731) 149.44/106.77 Obligation: 149.44/106.77 Q DP problem: 149.44/106.77 The TRS P consists of the following rules: 149.44/106.77 149.44/106.77 new_primPlusNat(Succ(vuz2700), Succ(vuz30000)) -> new_primPlusNat(vuz2700, vuz30000) 149.44/106.77 149.44/106.77 R is empty. 149.44/106.77 Q is empty. 149.44/106.77 We have to consider all minimal (P,Q,R)-chains. 149.44/106.77 ---------------------------------------- 149.44/106.77 149.44/106.77 (732) QDPSizeChangeProof (EQUIVALENT) 149.44/106.77 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. 149.44/106.77 149.44/106.77 From the DPs we obtained the following set of size-change graphs: 149.44/106.77 *new_primPlusNat(Succ(vuz2700), Succ(vuz30000)) -> new_primPlusNat(vuz2700, vuz30000) 149.44/106.77 The graph contains the following edges 1 > 1, 2 > 2 149.44/106.77 149.44/106.77 149.44/106.77 ---------------------------------------- 149.44/106.77 149.44/106.77 (733) 149.44/106.77 YES 149.44/106.77 149.44/106.77 ---------------------------------------- 149.44/106.77 149.44/106.77 (734) Narrow (COMPLETE) 149.44/106.77 Haskell To QDPs 149.44/106.77 149.44/106.77 digraph dp_graph { 149.44/106.77 node [outthreshold=100, inthreshold=100];1[label="product",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 149.44/106.77 3[label="product vuz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 149.44/106.77 4[label="foldl' (*) (fromInt (Pos (Succ Zero))) vuz3",fontsize=16,color="burlywood",shape="box"];1083[label="vuz3/vuz30 : vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 1083[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1083 -> 5[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1084[label="vuz3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 1084[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1084 -> 6[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 5[label="foldl' (*) (fromInt (Pos (Succ Zero))) (vuz30 : vuz31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 149.44/106.77 6[label="foldl' (*) (fromInt (Pos (Succ Zero))) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 149.44/106.77 7[label="(foldl' (*) $! (*) fromInt (Pos (Succ Zero)) vuz30)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 149.44/106.77 8[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];1085[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];8 -> 1085[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1085 -> 10[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1086[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];8 -> 1086[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1086 -> 11[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1087[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];8 -> 1087[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1087 -> 12[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1088[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];8 -> 1088[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1088 -> 13[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1089[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];8 -> 1089[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1089 -> 14[label="",style="solid", color="blue", weight=3]; 149.44/106.77 9[label="((*) fromInt (Pos (Succ Zero)) vuz30 `seq` foldl' (*) ((*) fromInt (Pos (Succ Zero)) vuz30))",fontsize=16,color="black",shape="box"];9 -> 15[label="",style="solid", color="black", weight=3]; 149.44/106.77 10[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];10 -> 16[label="",style="solid", color="black", weight=3]; 149.44/106.77 11[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];11 -> 17[label="",style="solid", color="black", weight=3]; 149.44/106.77 12[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];12 -> 18[label="",style="solid", color="black", weight=3]; 149.44/106.77 13[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];13 -> 19[label="",style="solid", color="black", weight=3]; 149.44/106.77 14[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];14 -> 20[label="",style="solid", color="black", weight=3]; 149.44/106.77 15 -> 21[label="",style="dashed", color="red", weight=0]; 149.44/106.77 15[label="enforceWHNF (WHNF ((*) fromInt (Pos (Succ Zero)) vuz30)) (foldl' (*) ((*) fromInt (Pos (Succ Zero)) vuz30)) vuz31",fontsize=16,color="magenta"];15 -> 22[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 15 -> 23[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 16[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 149.44/106.77 17[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];18[label="primIntToDouble (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];18 -> 25[label="",style="solid", color="black", weight=3]; 149.44/106.77 19[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];19 -> 26[label="",style="solid", color="black", weight=3]; 149.44/106.77 20[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];22[label="vuz31",fontsize=16,color="green",shape="box"];23[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="blue",shape="box"];1090[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];23 -> 1090[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1090 -> 27[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1091[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];23 -> 1091[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1091 -> 28[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1092[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];23 -> 1092[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1092 -> 29[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1093[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];23 -> 1093[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1093 -> 30[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1094[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];23 -> 1094[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1094 -> 31[label="",style="solid", color="blue", weight=3]; 149.44/106.77 21[label="enforceWHNF (WHNF vuz7) (foldl' (*) vuz7) vuz8",fontsize=16,color="black",shape="triangle"];21 -> 32[label="",style="solid", color="black", weight=3]; 149.44/106.77 24[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];24 -> 33[label="",style="dashed", color="green", weight=3]; 149.44/106.77 24 -> 34[label="",style="dashed", color="green", weight=3]; 149.44/106.77 25[label="Double (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];26[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];27 -> 35[label="",style="dashed", color="red", weight=0]; 149.44/106.77 27[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];27 -> 36[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 28 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 28[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];28 -> 38[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 29 -> 39[label="",style="dashed", color="red", weight=0]; 149.44/106.77 29[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];29 -> 40[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 30 -> 41[label="",style="dashed", color="red", weight=0]; 149.44/106.77 30[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];30 -> 42[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 31 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 31[label="(*) fromInt (Pos (Succ Zero)) vuz30",fontsize=16,color="magenta"];31 -> 44[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 32[label="foldl' (*) vuz7 vuz8",fontsize=16,color="burlywood",shape="box"];1095[label="vuz8/vuz80 : vuz81",fontsize=10,color="white",style="solid",shape="box"];32 -> 1095[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1095 -> 45[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1096[label="vuz8/[]",fontsize=10,color="white",style="solid",shape="box"];32 -> 1096[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1096 -> 46[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 33[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];1097[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];33 -> 1097[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1097 -> 47[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1098[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];33 -> 1098[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1098 -> 48[label="",style="solid", color="blue", weight=3]; 149.44/106.77 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];1099[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];34 -> 1099[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1099 -> 49[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1100[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];34 -> 1100[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1100 -> 50[label="",style="solid", color="blue", weight=3]; 149.44/106.77 36 -> 10[label="",style="dashed", color="red", weight=0]; 149.44/106.77 36[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35[label="(*) vuz9 vuz30",fontsize=16,color="burlywood",shape="triangle"];1101[label="vuz9/vuz90 :% vuz91",fontsize=10,color="white",style="solid",shape="box"];35 -> 1101[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1101 -> 51[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 38 -> 11[label="",style="dashed", color="red", weight=0]; 149.44/106.77 38[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];37[label="(*) vuz10 vuz30",fontsize=16,color="burlywood",shape="triangle"];1102[label="vuz10/Integer vuz100",fontsize=10,color="white",style="solid",shape="box"];37 -> 1102[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1102 -> 52[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 40 -> 12[label="",style="dashed", color="red", weight=0]; 149.44/106.77 40[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];39[label="(*) vuz11 vuz30",fontsize=16,color="black",shape="triangle"];39 -> 53[label="",style="solid", color="black", weight=3]; 149.44/106.77 42 -> 13[label="",style="dashed", color="red", weight=0]; 149.44/106.77 42[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];41[label="(*) vuz12 vuz30",fontsize=16,color="black",shape="triangle"];41 -> 54[label="",style="solid", color="black", weight=3]; 149.44/106.77 44 -> 14[label="",style="dashed", color="red", weight=0]; 149.44/106.77 44[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];43[label="(*) vuz13 vuz30",fontsize=16,color="black",shape="triangle"];43 -> 55[label="",style="solid", color="black", weight=3]; 149.44/106.77 45[label="foldl' (*) vuz7 (vuz80 : vuz81)",fontsize=16,color="black",shape="box"];45 -> 56[label="",style="solid", color="black", weight=3]; 149.44/106.77 46[label="foldl' (*) vuz7 []",fontsize=16,color="black",shape="box"];46 -> 57[label="",style="solid", color="black", weight=3]; 149.44/106.77 47 -> 11[label="",style="dashed", color="red", weight=0]; 149.44/106.77 47[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];48 -> 14[label="",style="dashed", color="red", weight=0]; 149.44/106.77 48[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];49 -> 11[label="",style="dashed", color="red", weight=0]; 149.44/106.77 49[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];50 -> 14[label="",style="dashed", color="red", weight=0]; 149.44/106.77 50[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];51[label="(*) (vuz90 :% vuz91) vuz30",fontsize=16,color="burlywood",shape="box"];1103[label="vuz30/vuz300 :% vuz301",fontsize=10,color="white",style="solid",shape="box"];51 -> 1103[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1103 -> 58[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 52[label="(*) Integer vuz100 vuz30",fontsize=16,color="burlywood",shape="box"];1104[label="vuz30/Integer vuz300",fontsize=10,color="white",style="solid",shape="box"];52 -> 1104[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1104 -> 59[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 53[label="primMulDouble vuz11 vuz30",fontsize=16,color="burlywood",shape="box"];1105[label="vuz11/Double vuz110 vuz111",fontsize=10,color="white",style="solid",shape="box"];53 -> 1105[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1105 -> 60[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 54[label="primMulFloat vuz12 vuz30",fontsize=16,color="burlywood",shape="box"];1106[label="vuz12/Float vuz120 vuz121",fontsize=10,color="white",style="solid",shape="box"];54 -> 1106[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1106 -> 61[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 55[label="primMulInt vuz13 vuz30",fontsize=16,color="burlywood",shape="triangle"];1107[label="vuz13/Pos vuz130",fontsize=10,color="white",style="solid",shape="box"];55 -> 1107[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1107 -> 62[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1108[label="vuz13/Neg vuz130",fontsize=10,color="white",style="solid",shape="box"];55 -> 1108[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1108 -> 63[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 56[label="(foldl' (*) $! (*) vuz7 vuz80)",fontsize=16,color="black",shape="box"];56 -> 64[label="",style="solid", color="black", weight=3]; 149.44/106.77 57[label="vuz7",fontsize=16,color="green",shape="box"];58[label="(*) (vuz90 :% vuz91) (vuz300 :% vuz301)",fontsize=16,color="black",shape="box"];58 -> 65[label="",style="solid", color="black", weight=3]; 149.44/106.77 59[label="(*) Integer vuz100 Integer vuz300",fontsize=16,color="black",shape="box"];59 -> 66[label="",style="solid", color="black", weight=3]; 149.44/106.77 60[label="primMulDouble (Double vuz110 vuz111) vuz30",fontsize=16,color="burlywood",shape="box"];1109[label="vuz30/Double vuz300 vuz301",fontsize=10,color="white",style="solid",shape="box"];60 -> 1109[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1109 -> 67[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 61[label="primMulFloat (Float vuz120 vuz121) vuz30",fontsize=16,color="burlywood",shape="box"];1110[label="vuz30/Float vuz300 vuz301",fontsize=10,color="white",style="solid",shape="box"];61 -> 1110[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1110 -> 68[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 62[label="primMulInt (Pos vuz130) vuz30",fontsize=16,color="burlywood",shape="box"];1111[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];62 -> 1111[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1111 -> 69[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1112[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];62 -> 1112[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1112 -> 70[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 63[label="primMulInt (Neg vuz130) vuz30",fontsize=16,color="burlywood",shape="box"];1113[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];63 -> 1113[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1113 -> 71[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1114[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];63 -> 1114[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1114 -> 72[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 64[label="((*) vuz7 vuz80 `seq` foldl' (*) ((*) vuz7 vuz80))",fontsize=16,color="black",shape="box"];64 -> 73[label="",style="solid", color="black", weight=3]; 149.44/106.77 65[label="reduce (vuz90 * vuz300) (vuz91 * vuz301)",fontsize=16,color="black",shape="box"];65 -> 74[label="",style="solid", color="black", weight=3]; 149.44/106.77 66[label="Integer (primMulInt vuz100 vuz300)",fontsize=16,color="green",shape="box"];66 -> 75[label="",style="dashed", color="green", weight=3]; 149.44/106.77 67[label="primMulDouble (Double vuz110 vuz111) (Double vuz300 vuz301)",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 149.44/106.77 68[label="primMulFloat (Float vuz120 vuz121) (Float vuz300 vuz301)",fontsize=16,color="black",shape="box"];68 -> 77[label="",style="solid", color="black", weight=3]; 149.44/106.77 69[label="primMulInt (Pos vuz130) (Pos vuz300)",fontsize=16,color="black",shape="box"];69 -> 78[label="",style="solid", color="black", weight=3]; 149.44/106.77 70[label="primMulInt (Pos vuz130) (Neg vuz300)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 149.44/106.77 71[label="primMulInt (Neg vuz130) (Pos vuz300)",fontsize=16,color="black",shape="box"];71 -> 80[label="",style="solid", color="black", weight=3]; 149.44/106.77 72[label="primMulInt (Neg vuz130) (Neg vuz300)",fontsize=16,color="black",shape="box"];72 -> 81[label="",style="solid", color="black", weight=3]; 149.44/106.77 73 -> 21[label="",style="dashed", color="red", weight=0]; 149.44/106.77 73[label="enforceWHNF (WHNF ((*) vuz7 vuz80)) (foldl' (*) ((*) vuz7 vuz80)) vuz81",fontsize=16,color="magenta"];73 -> 82[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 73 -> 83[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 74[label="reduce2 (vuz90 * vuz300) (vuz91 * vuz301)",fontsize=16,color="black",shape="box"];74 -> 84[label="",style="solid", color="black", weight=3]; 149.44/106.77 75 -> 55[label="",style="dashed", color="red", weight=0]; 149.44/106.77 75[label="primMulInt vuz100 vuz300",fontsize=16,color="magenta"];75 -> 85[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 75 -> 86[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 76[label="Double (vuz110 * vuz300) (vuz111 * vuz301)",fontsize=16,color="green",shape="box"];76 -> 87[label="",style="dashed", color="green", weight=3]; 149.44/106.77 76 -> 88[label="",style="dashed", color="green", weight=3]; 149.44/106.77 77[label="Float (vuz120 * vuz300) (vuz121 * vuz301)",fontsize=16,color="green",shape="box"];77 -> 89[label="",style="dashed", color="green", weight=3]; 149.44/106.77 77 -> 90[label="",style="dashed", color="green", weight=3]; 149.44/106.77 78[label="Pos (primMulNat vuz130 vuz300)",fontsize=16,color="green",shape="box"];78 -> 91[label="",style="dashed", color="green", weight=3]; 149.44/106.77 79[label="Neg (primMulNat vuz130 vuz300)",fontsize=16,color="green",shape="box"];79 -> 92[label="",style="dashed", color="green", weight=3]; 149.44/106.77 80[label="Neg (primMulNat vuz130 vuz300)",fontsize=16,color="green",shape="box"];80 -> 93[label="",style="dashed", color="green", weight=3]; 149.44/106.77 81[label="Pos (primMulNat vuz130 vuz300)",fontsize=16,color="green",shape="box"];81 -> 94[label="",style="dashed", color="green", weight=3]; 149.44/106.77 82[label="vuz81",fontsize=16,color="green",shape="box"];83[label="(*) vuz7 vuz80",fontsize=16,color="blue",shape="box"];1115[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];83 -> 1115[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1115 -> 95[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1116[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];83 -> 1116[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1116 -> 96[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1117[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];83 -> 1117[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1117 -> 97[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1118[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];83 -> 1118[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1118 -> 98[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1119[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];83 -> 1119[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1119 -> 99[label="",style="solid", color="blue", weight=3]; 149.44/106.77 84 -> 100[label="",style="dashed", color="red", weight=0]; 149.44/106.77 84[label="reduce2Reduce1 (vuz90 * vuz300) (vuz91 * vuz301) (vuz90 * vuz300) (vuz91 * vuz301) (vuz91 * vuz301 == fromInt (Pos Zero))",fontsize=16,color="magenta"];84 -> 101[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 84 -> 102[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 84 -> 103[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 84 -> 104[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 84 -> 105[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 85[label="vuz300",fontsize=16,color="green",shape="box"];86[label="vuz100",fontsize=16,color="green",shape="box"];87 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 87[label="vuz110 * vuz300",fontsize=16,color="magenta"];87 -> 106[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 87 -> 107[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 88 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 88[label="vuz111 * vuz301",fontsize=16,color="magenta"];88 -> 108[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 88 -> 109[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 89 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 89[label="vuz120 * vuz300",fontsize=16,color="magenta"];89 -> 110[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 89 -> 111[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 90 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 90[label="vuz121 * vuz301",fontsize=16,color="magenta"];90 -> 112[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 90 -> 113[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 91[label="primMulNat vuz130 vuz300",fontsize=16,color="burlywood",shape="triangle"];1120[label="vuz130/Succ vuz1300",fontsize=10,color="white",style="solid",shape="box"];91 -> 1120[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1120 -> 114[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1121[label="vuz130/Zero",fontsize=10,color="white",style="solid",shape="box"];91 -> 1121[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1121 -> 115[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 92 -> 91[label="",style="dashed", color="red", weight=0]; 149.44/106.77 92[label="primMulNat vuz130 vuz300",fontsize=16,color="magenta"];92 -> 116[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 93 -> 91[label="",style="dashed", color="red", weight=0]; 149.44/106.77 93[label="primMulNat vuz130 vuz300",fontsize=16,color="magenta"];93 -> 117[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 94 -> 91[label="",style="dashed", color="red", weight=0]; 149.44/106.77 94[label="primMulNat vuz130 vuz300",fontsize=16,color="magenta"];94 -> 118[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 94 -> 119[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 95 -> 35[label="",style="dashed", color="red", weight=0]; 149.44/106.77 95[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];95 -> 120[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 95 -> 121[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 96 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 96[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];96 -> 122[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 96 -> 123[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 97 -> 39[label="",style="dashed", color="red", weight=0]; 149.44/106.77 97[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];97 -> 124[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 97 -> 125[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 98 -> 41[label="",style="dashed", color="red", weight=0]; 149.44/106.77 98[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];98 -> 126[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 98 -> 127[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 99 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 99[label="(*) vuz7 vuz80",fontsize=16,color="magenta"];99 -> 128[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 99 -> 129[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 101[label="vuz300",fontsize=16,color="green",shape="box"];102[label="vuz301",fontsize=16,color="green",shape="box"];103[label="vuz91 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1122[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];103 -> 1122[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1122 -> 130[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1123[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];103 -> 1123[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1123 -> 131[label="",style="solid", color="blue", weight=3]; 149.44/106.77 104[label="vuz91",fontsize=16,color="green",shape="box"];105[label="vuz90",fontsize=16,color="green",shape="box"];100[label="reduce2Reduce1 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) vuz24",fontsize=16,color="burlywood",shape="triangle"];1124[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];100 -> 1124[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1124 -> 132[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1125[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];100 -> 1125[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1125 -> 133[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 106[label="vuz300",fontsize=16,color="green",shape="box"];107[label="vuz110",fontsize=16,color="green",shape="box"];108[label="vuz301",fontsize=16,color="green",shape="box"];109[label="vuz111",fontsize=16,color="green",shape="box"];110[label="vuz300",fontsize=16,color="green",shape="box"];111[label="vuz120",fontsize=16,color="green",shape="box"];112[label="vuz301",fontsize=16,color="green",shape="box"];113[label="vuz121",fontsize=16,color="green",shape="box"];114[label="primMulNat (Succ vuz1300) vuz300",fontsize=16,color="burlywood",shape="box"];1126[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];114 -> 1126[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1126 -> 134[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1127[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];114 -> 1127[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1127 -> 135[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 115[label="primMulNat Zero vuz300",fontsize=16,color="burlywood",shape="box"];1128[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];115 -> 1128[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1128 -> 136[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1129[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];115 -> 1129[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1129 -> 137[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 116[label="vuz300",fontsize=16,color="green",shape="box"];117[label="vuz130",fontsize=16,color="green",shape="box"];118[label="vuz300",fontsize=16,color="green",shape="box"];119[label="vuz130",fontsize=16,color="green",shape="box"];120[label="vuz80",fontsize=16,color="green",shape="box"];121[label="vuz7",fontsize=16,color="green",shape="box"];122[label="vuz80",fontsize=16,color="green",shape="box"];123[label="vuz7",fontsize=16,color="green",shape="box"];124[label="vuz7",fontsize=16,color="green",shape="box"];125[label="vuz80",fontsize=16,color="green",shape="box"];126[label="vuz80",fontsize=16,color="green",shape="box"];127[label="vuz7",fontsize=16,color="green",shape="box"];128[label="vuz80",fontsize=16,color="green",shape="box"];129[label="vuz7",fontsize=16,color="green",shape="box"];130 -> 138[label="",style="dashed", color="red", weight=0]; 149.44/106.77 130[label="vuz91 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="magenta"];130 -> 139[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 131 -> 140[label="",style="dashed", color="red", weight=0]; 149.44/106.77 131[label="vuz91 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="magenta"];131 -> 141[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 132[label="reduce2Reduce1 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) False",fontsize=16,color="black",shape="box"];132 -> 142[label="",style="solid", color="black", weight=3]; 149.44/106.77 133[label="reduce2Reduce1 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) True",fontsize=16,color="black",shape="box"];133 -> 143[label="",style="solid", color="black", weight=3]; 149.44/106.77 134[label="primMulNat (Succ vuz1300) (Succ vuz3000)",fontsize=16,color="black",shape="box"];134 -> 144[label="",style="solid", color="black", weight=3]; 149.44/106.77 135[label="primMulNat (Succ vuz1300) Zero",fontsize=16,color="black",shape="box"];135 -> 145[label="",style="solid", color="black", weight=3]; 149.44/106.77 136[label="primMulNat Zero (Succ vuz3000)",fontsize=16,color="black",shape="box"];136 -> 146[label="",style="solid", color="black", weight=3]; 149.44/106.77 137[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];137 -> 147[label="",style="solid", color="black", weight=3]; 149.44/106.77 139 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 139[label="vuz91 * vuz301",fontsize=16,color="magenta"];139 -> 148[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 139 -> 149[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 138[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1130[label="vuz25/Integer vuz250",fontsize=10,color="white",style="solid",shape="box"];138 -> 1130[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1130 -> 150[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 141 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 141[label="vuz91 * vuz301",fontsize=16,color="magenta"];141 -> 151[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 141 -> 152[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 140[label="vuz26 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];140 -> 153[label="",style="solid", color="black", weight=3]; 149.44/106.77 142[label="reduce2Reduce0 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) otherwise",fontsize=16,color="black",shape="box"];142 -> 154[label="",style="solid", color="black", weight=3]; 149.44/106.77 143[label="error []",fontsize=16,color="black",shape="box"];143 -> 155[label="",style="solid", color="black", weight=3]; 149.44/106.77 144 -> 156[label="",style="dashed", color="red", weight=0]; 149.44/106.77 144[label="primPlusNat (primMulNat vuz1300 (Succ vuz3000)) (Succ vuz3000)",fontsize=16,color="magenta"];144 -> 157[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 145[label="Zero",fontsize=16,color="green",shape="box"];146[label="Zero",fontsize=16,color="green",shape="box"];147[label="Zero",fontsize=16,color="green",shape="box"];148[label="vuz301",fontsize=16,color="green",shape="box"];149[label="vuz91",fontsize=16,color="green",shape="box"];150[label="Integer vuz250 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];150 -> 158[label="",style="solid", color="black", weight=3]; 149.44/106.77 151[label="vuz301",fontsize=16,color="green",shape="box"];152[label="vuz91",fontsize=16,color="green",shape="box"];153[label="primEqInt vuz26 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1131[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];153 -> 1131[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1131 -> 159[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1132[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];153 -> 1132[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1132 -> 160[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 154[label="reduce2Reduce0 (vuz20 * vuz21) (vuz22 * vuz23) (vuz20 * vuz21) (vuz22 * vuz23) True",fontsize=16,color="black",shape="box"];154 -> 161[label="",style="solid", color="black", weight=3]; 149.44/106.77 155[label="error []",fontsize=16,color="red",shape="box"];157 -> 91[label="",style="dashed", color="red", weight=0]; 149.44/106.77 157[label="primMulNat vuz1300 (Succ vuz3000)",fontsize=16,color="magenta"];157 -> 162[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 157 -> 163[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 156[label="primPlusNat vuz27 (Succ vuz3000)",fontsize=16,color="burlywood",shape="triangle"];1133[label="vuz27/Succ vuz270",fontsize=10,color="white",style="solid",shape="box"];156 -> 1133[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1133 -> 164[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1134[label="vuz27/Zero",fontsize=10,color="white",style="solid",shape="box"];156 -> 1134[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1134 -> 165[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 158[label="Integer vuz250 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];158 -> 166[label="",style="solid", color="black", weight=3]; 149.44/106.77 159[label="primEqInt (Pos vuz260) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1135[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];159 -> 1135[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1135 -> 167[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1136[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 1136[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1136 -> 168[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 160[label="primEqInt (Neg vuz260) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1137[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];160 -> 1137[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1137 -> 169[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1138[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];160 -> 1138[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1138 -> 170[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 161[label="vuz20 * vuz21 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23) :% (vuz22 * vuz23 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23))",fontsize=16,color="green",shape="box"];161 -> 171[label="",style="dashed", color="green", weight=3]; 149.44/106.77 161 -> 172[label="",style="dashed", color="green", weight=3]; 149.44/106.77 162[label="Succ vuz3000",fontsize=16,color="green",shape="box"];163[label="vuz1300",fontsize=16,color="green",shape="box"];164[label="primPlusNat (Succ vuz270) (Succ vuz3000)",fontsize=16,color="black",shape="box"];164 -> 173[label="",style="solid", color="black", weight=3]; 149.44/106.77 165[label="primPlusNat Zero (Succ vuz3000)",fontsize=16,color="black",shape="box"];165 -> 174[label="",style="solid", color="black", weight=3]; 149.44/106.77 166[label="primEqInt vuz250 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1139[label="vuz250/Pos vuz2500",fontsize=10,color="white",style="solid",shape="box"];166 -> 1139[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1139 -> 175[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1140[label="vuz250/Neg vuz2500",fontsize=10,color="white",style="solid",shape="box"];166 -> 1140[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1140 -> 176[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 167[label="primEqInt (Pos (Succ vuz2600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];167 -> 177[label="",style="solid", color="black", weight=3]; 149.44/106.77 168[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];168 -> 178[label="",style="solid", color="black", weight=3]; 149.44/106.77 169[label="primEqInt (Neg (Succ vuz2600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];169 -> 179[label="",style="solid", color="black", weight=3]; 149.44/106.77 170[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];170 -> 180[label="",style="solid", color="black", weight=3]; 149.44/106.77 171[label="vuz20 * vuz21 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="blue",shape="box"];1141[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];171 -> 1141[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1141 -> 181[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1142[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];171 -> 1142[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1142 -> 182[label="",style="solid", color="blue", weight=3]; 149.44/106.77 172[label="vuz22 * vuz23 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="blue",shape="box"];1143[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];172 -> 1143[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1143 -> 183[label="",style="solid", color="blue", weight=3]; 149.44/106.77 1144[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];172 -> 1144[label="",style="solid", color="blue", weight=9]; 149.44/106.77 1144 -> 184[label="",style="solid", color="blue", weight=3]; 149.44/106.77 173[label="Succ (Succ (primPlusNat vuz270 vuz3000))",fontsize=16,color="green",shape="box"];173 -> 185[label="",style="dashed", color="green", weight=3]; 149.44/106.77 174[label="Succ vuz3000",fontsize=16,color="green",shape="box"];175[label="primEqInt (Pos vuz2500) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1145[label="vuz2500/Succ vuz25000",fontsize=10,color="white",style="solid",shape="box"];175 -> 1145[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1145 -> 186[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1146[label="vuz2500/Zero",fontsize=10,color="white",style="solid",shape="box"];175 -> 1146[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1146 -> 187[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 176[label="primEqInt (Neg vuz2500) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1147[label="vuz2500/Succ vuz25000",fontsize=10,color="white",style="solid",shape="box"];176 -> 1147[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1147 -> 188[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1148[label="vuz2500/Zero",fontsize=10,color="white",style="solid",shape="box"];176 -> 1148[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1148 -> 189[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 177 -> 166[label="",style="dashed", color="red", weight=0]; 149.44/106.77 177[label="primEqInt (Pos (Succ vuz2600)) (Pos Zero)",fontsize=16,color="magenta"];177 -> 190[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 178 -> 166[label="",style="dashed", color="red", weight=0]; 149.44/106.77 178[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];178 -> 191[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 179 -> 166[label="",style="dashed", color="red", weight=0]; 149.44/106.77 179[label="primEqInt (Neg (Succ vuz2600)) (Pos Zero)",fontsize=16,color="magenta"];179 -> 192[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 180 -> 166[label="",style="dashed", color="red", weight=0]; 149.44/106.77 180[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];180 -> 193[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 181 -> 194[label="",style="dashed", color="red", weight=0]; 149.44/106.77 181[label="vuz20 * vuz21 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="magenta"];181 -> 195[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 181 -> 196[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 181 -> 197[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 182 -> 201[label="",style="dashed", color="red", weight=0]; 149.44/106.77 182[label="vuz20 * vuz21 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="magenta"];182 -> 202[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 182 -> 203[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 182 -> 204[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 183 -> 194[label="",style="dashed", color="red", weight=0]; 149.44/106.77 183[label="vuz22 * vuz23 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="magenta"];183 -> 198[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 183 -> 199[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 183 -> 200[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 184 -> 201[label="",style="dashed", color="red", weight=0]; 149.44/106.77 184[label="vuz22 * vuz23 `quot` reduce2D (vuz20 * vuz21) (vuz22 * vuz23)",fontsize=16,color="magenta"];184 -> 205[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 184 -> 206[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 184 -> 207[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 185[label="primPlusNat vuz270 vuz3000",fontsize=16,color="burlywood",shape="triangle"];1149[label="vuz270/Succ vuz2700",fontsize=10,color="white",style="solid",shape="box"];185 -> 1149[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1149 -> 208[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1150[label="vuz270/Zero",fontsize=10,color="white",style="solid",shape="box"];185 -> 1150[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1150 -> 209[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 186[label="primEqInt (Pos (Succ vuz25000)) (Pos Zero)",fontsize=16,color="black",shape="box"];186 -> 210[label="",style="solid", color="black", weight=3]; 149.44/106.77 187[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];187 -> 211[label="",style="solid", color="black", weight=3]; 149.44/106.77 188[label="primEqInt (Neg (Succ vuz25000)) (Pos Zero)",fontsize=16,color="black",shape="box"];188 -> 212[label="",style="solid", color="black", weight=3]; 149.44/106.77 189[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];189 -> 213[label="",style="solid", color="black", weight=3]; 149.44/106.77 190[label="Pos (Succ vuz2600)",fontsize=16,color="green",shape="box"];191[label="Pos Zero",fontsize=16,color="green",shape="box"];192[label="Neg (Succ vuz2600)",fontsize=16,color="green",shape="box"];193[label="Neg Zero",fontsize=16,color="green",shape="box"];195 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 195[label="vuz20 * vuz21",fontsize=16,color="magenta"];195 -> 214[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 195 -> 215[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 196 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 196[label="vuz22 * vuz23",fontsize=16,color="magenta"];196 -> 216[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 196 -> 217[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 197 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 197[label="vuz20 * vuz21",fontsize=16,color="magenta"];197 -> 218[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 197 -> 219[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 194[label="vuz28 `quot` reduce2D vuz30 vuz29",fontsize=16,color="black",shape="triangle"];194 -> 220[label="",style="solid", color="black", weight=3]; 149.44/106.77 202 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 202[label="vuz20 * vuz21",fontsize=16,color="magenta"];202 -> 221[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 202 -> 222[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 203 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 203[label="vuz22 * vuz23",fontsize=16,color="magenta"];203 -> 223[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 203 -> 224[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 204 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 204[label="vuz20 * vuz21",fontsize=16,color="magenta"];204 -> 225[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 204 -> 226[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 201[label="vuz31 `quot` reduce2D vuz33 vuz32",fontsize=16,color="burlywood",shape="triangle"];1151[label="vuz31/Integer vuz310",fontsize=10,color="white",style="solid",shape="box"];201 -> 1151[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1151 -> 227[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 198 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 198[label="vuz22 * vuz23",fontsize=16,color="magenta"];198 -> 228[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 198 -> 229[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 199 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 199[label="vuz22 * vuz23",fontsize=16,color="magenta"];199 -> 230[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 199 -> 231[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 200 -> 43[label="",style="dashed", color="red", weight=0]; 149.44/106.77 200[label="vuz20 * vuz21",fontsize=16,color="magenta"];200 -> 232[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 200 -> 233[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 205 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 205[label="vuz20 * vuz21",fontsize=16,color="magenta"];205 -> 234[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 205 -> 235[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 206 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 206[label="vuz22 * vuz23",fontsize=16,color="magenta"];206 -> 236[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 206 -> 237[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 207 -> 37[label="",style="dashed", color="red", weight=0]; 149.44/106.77 207[label="vuz22 * vuz23",fontsize=16,color="magenta"];207 -> 238[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 207 -> 239[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 208[label="primPlusNat (Succ vuz2700) vuz3000",fontsize=16,color="burlywood",shape="box"];1152[label="vuz3000/Succ vuz30000",fontsize=10,color="white",style="solid",shape="box"];208 -> 1152[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1152 -> 240[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1153[label="vuz3000/Zero",fontsize=10,color="white",style="solid",shape="box"];208 -> 1153[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1153 -> 241[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 209[label="primPlusNat Zero vuz3000",fontsize=16,color="burlywood",shape="box"];1154[label="vuz3000/Succ vuz30000",fontsize=10,color="white",style="solid",shape="box"];209 -> 1154[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1154 -> 242[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1155[label="vuz3000/Zero",fontsize=10,color="white",style="solid",shape="box"];209 -> 1155[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1155 -> 243[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 210[label="False",fontsize=16,color="green",shape="box"];211[label="True",fontsize=16,color="green",shape="box"];212[label="False",fontsize=16,color="green",shape="box"];213[label="True",fontsize=16,color="green",shape="box"];214[label="vuz21",fontsize=16,color="green",shape="box"];215[label="vuz20",fontsize=16,color="green",shape="box"];216[label="vuz23",fontsize=16,color="green",shape="box"];217[label="vuz22",fontsize=16,color="green",shape="box"];218[label="vuz21",fontsize=16,color="green",shape="box"];219[label="vuz20",fontsize=16,color="green",shape="box"];220[label="primQuotInt vuz28 (reduce2D vuz30 vuz29)",fontsize=16,color="burlywood",shape="box"];1156[label="vuz28/Pos vuz280",fontsize=10,color="white",style="solid",shape="box"];220 -> 1156[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1156 -> 244[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1157[label="vuz28/Neg vuz280",fontsize=10,color="white",style="solid",shape="box"];220 -> 1157[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1157 -> 245[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 221[label="vuz21",fontsize=16,color="green",shape="box"];222[label="vuz20",fontsize=16,color="green",shape="box"];223[label="vuz23",fontsize=16,color="green",shape="box"];224[label="vuz22",fontsize=16,color="green",shape="box"];225[label="vuz21",fontsize=16,color="green",shape="box"];226[label="vuz20",fontsize=16,color="green",shape="box"];227[label="Integer vuz310 `quot` reduce2D vuz33 vuz32",fontsize=16,color="black",shape="box"];227 -> 246[label="",style="solid", color="black", weight=3]; 149.44/106.77 228[label="vuz23",fontsize=16,color="green",shape="box"];229[label="vuz22",fontsize=16,color="green",shape="box"];230[label="vuz23",fontsize=16,color="green",shape="box"];231[label="vuz22",fontsize=16,color="green",shape="box"];232[label="vuz21",fontsize=16,color="green",shape="box"];233[label="vuz20",fontsize=16,color="green",shape="box"];234[label="vuz21",fontsize=16,color="green",shape="box"];235[label="vuz20",fontsize=16,color="green",shape="box"];236[label="vuz23",fontsize=16,color="green",shape="box"];237[label="vuz22",fontsize=16,color="green",shape="box"];238[label="vuz23",fontsize=16,color="green",shape="box"];239[label="vuz22",fontsize=16,color="green",shape="box"];240[label="primPlusNat (Succ vuz2700) (Succ vuz30000)",fontsize=16,color="black",shape="box"];240 -> 247[label="",style="solid", color="black", weight=3]; 149.44/106.77 241[label="primPlusNat (Succ vuz2700) Zero",fontsize=16,color="black",shape="box"];241 -> 248[label="",style="solid", color="black", weight=3]; 149.44/106.77 242[label="primPlusNat Zero (Succ vuz30000)",fontsize=16,color="black",shape="box"];242 -> 249[label="",style="solid", color="black", weight=3]; 149.44/106.77 243[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];243 -> 250[label="",style="solid", color="black", weight=3]; 149.44/106.77 244[label="primQuotInt (Pos vuz280) (reduce2D vuz30 vuz29)",fontsize=16,color="black",shape="box"];244 -> 251[label="",style="solid", color="black", weight=3]; 149.44/106.77 245[label="primQuotInt (Neg vuz280) (reduce2D vuz30 vuz29)",fontsize=16,color="black",shape="box"];245 -> 252[label="",style="solid", color="black", weight=3]; 149.44/106.77 246 -> 343[label="",style="dashed", color="red", weight=0]; 149.44/106.77 246[label="Integer vuz310 `quot` gcd vuz33 vuz32",fontsize=16,color="magenta"];246 -> 344[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 247[label="Succ (Succ (primPlusNat vuz2700 vuz30000))",fontsize=16,color="green",shape="box"];247 -> 254[label="",style="dashed", color="green", weight=3]; 149.44/106.77 248[label="Succ vuz2700",fontsize=16,color="green",shape="box"];249[label="Succ vuz30000",fontsize=16,color="green",shape="box"];250[label="Zero",fontsize=16,color="green",shape="box"];251 -> 368[label="",style="dashed", color="red", weight=0]; 149.44/106.77 251[label="primQuotInt (Pos vuz280) (gcd vuz30 vuz29)",fontsize=16,color="magenta"];251 -> 369[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 252[label="primQuotInt (Neg vuz280) (gcd vuz30 vuz29)",fontsize=16,color="black",shape="box"];252 -> 256[label="",style="solid", color="black", weight=3]; 149.44/106.77 344[label="gcd vuz33 vuz32",fontsize=16,color="black",shape="box"];344 -> 360[label="",style="solid", color="black", weight=3]; 149.44/106.77 343[label="Integer vuz310 `quot` vuz45",fontsize=16,color="burlywood",shape="triangle"];1158[label="vuz45/Integer vuz450",fontsize=10,color="white",style="solid",shape="box"];343 -> 1158[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1158 -> 361[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 254 -> 185[label="",style="dashed", color="red", weight=0]; 149.44/106.77 254[label="primPlusNat vuz2700 vuz30000",fontsize=16,color="magenta"];254 -> 258[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 254 -> 259[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 369[label="gcd vuz30 vuz29",fontsize=16,color="black",shape="box"];369 -> 385[label="",style="solid", color="black", weight=3]; 149.44/106.77 368[label="primQuotInt (Pos vuz280) vuz48",fontsize=16,color="burlywood",shape="triangle"];1159[label="vuz48/Pos vuz480",fontsize=10,color="white",style="solid",shape="box"];368 -> 1159[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1159 -> 386[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1160[label="vuz48/Neg vuz480",fontsize=10,color="white",style="solid",shape="box"];368 -> 1160[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1160 -> 387[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 256[label="primQuotInt (Neg vuz280) (gcd3 vuz30 vuz29)",fontsize=16,color="black",shape="box"];256 -> 261[label="",style="solid", color="black", weight=3]; 149.44/106.77 360[label="gcd3 vuz33 vuz32",fontsize=16,color="black",shape="box"];360 -> 366[label="",style="solid", color="black", weight=3]; 149.44/106.77 361[label="Integer vuz310 `quot` Integer vuz450",fontsize=16,color="black",shape="box"];361 -> 367[label="",style="solid", color="black", weight=3]; 149.44/106.77 258[label="vuz2700",fontsize=16,color="green",shape="box"];259[label="vuz30000",fontsize=16,color="green",shape="box"];385[label="gcd3 vuz30 vuz29",fontsize=16,color="black",shape="box"];385 -> 390[label="",style="solid", color="black", weight=3]; 149.44/106.77 386[label="primQuotInt (Pos vuz280) (Pos vuz480)",fontsize=16,color="burlywood",shape="box"];1161[label="vuz480/Succ vuz4800",fontsize=10,color="white",style="solid",shape="box"];386 -> 1161[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1161 -> 391[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1162[label="vuz480/Zero",fontsize=10,color="white",style="solid",shape="box"];386 -> 1162[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1162 -> 392[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 387[label="primQuotInt (Pos vuz280) (Neg vuz480)",fontsize=16,color="burlywood",shape="box"];1163[label="vuz480/Succ vuz4800",fontsize=10,color="white",style="solid",shape="box"];387 -> 1163[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1163 -> 393[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1164[label="vuz480/Zero",fontsize=10,color="white",style="solid",shape="box"];387 -> 1164[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1164 -> 394[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 261 -> 266[label="",style="dashed", color="red", weight=0]; 149.44/106.77 261[label="primQuotInt (Neg vuz280) (gcd2 (vuz30 == fromInt (Pos Zero)) vuz30 vuz29)",fontsize=16,color="magenta"];261 -> 267[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 366 -> 388[label="",style="dashed", color="red", weight=0]; 149.44/106.77 366[label="gcd2 (vuz33 == fromInt (Pos Zero)) vuz33 vuz32",fontsize=16,color="magenta"];366 -> 389[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 367[label="Integer (primQuotInt vuz310 vuz450)",fontsize=16,color="green",shape="box"];367 -> 395[label="",style="dashed", color="green", weight=3]; 149.44/106.77 390 -> 402[label="",style="dashed", color="red", weight=0]; 149.44/106.77 390[label="gcd2 (vuz30 == fromInt (Pos Zero)) vuz30 vuz29",fontsize=16,color="magenta"];390 -> 403[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 391[label="primQuotInt (Pos vuz280) (Pos (Succ vuz4800))",fontsize=16,color="black",shape="box"];391 -> 404[label="",style="solid", color="black", weight=3]; 149.44/106.77 392[label="primQuotInt (Pos vuz280) (Pos Zero)",fontsize=16,color="black",shape="box"];392 -> 405[label="",style="solid", color="black", weight=3]; 149.44/106.77 393[label="primQuotInt (Pos vuz280) (Neg (Succ vuz4800))",fontsize=16,color="black",shape="box"];393 -> 406[label="",style="solid", color="black", weight=3]; 149.44/106.77 394[label="primQuotInt (Pos vuz280) (Neg Zero)",fontsize=16,color="black",shape="box"];394 -> 407[label="",style="solid", color="black", weight=3]; 149.44/106.77 267 -> 140[label="",style="dashed", color="red", weight=0]; 149.44/106.77 267[label="vuz30 == fromInt (Pos Zero)",fontsize=16,color="magenta"];267 -> 274[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 266[label="primQuotInt (Neg vuz280) (gcd2 vuz36 vuz30 vuz29)",fontsize=16,color="burlywood",shape="triangle"];1165[label="vuz36/False",fontsize=10,color="white",style="solid",shape="box"];266 -> 1165[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1165 -> 275[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1166[label="vuz36/True",fontsize=10,color="white",style="solid",shape="box"];266 -> 1166[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1166 -> 276[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 389 -> 138[label="",style="dashed", color="red", weight=0]; 149.44/106.77 389[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];389 -> 396[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 388[label="gcd2 vuz49 vuz33 vuz32",fontsize=16,color="burlywood",shape="triangle"];1167[label="vuz49/False",fontsize=10,color="white",style="solid",shape="box"];388 -> 1167[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1167 -> 397[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1168[label="vuz49/True",fontsize=10,color="white",style="solid",shape="box"];388 -> 1168[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1168 -> 398[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 395[label="primQuotInt vuz310 vuz450",fontsize=16,color="burlywood",shape="triangle"];1169[label="vuz310/Pos vuz3100",fontsize=10,color="white",style="solid",shape="box"];395 -> 1169[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1169 -> 408[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1170[label="vuz310/Neg vuz3100",fontsize=10,color="white",style="solid",shape="box"];395 -> 1170[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1170 -> 409[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 403 -> 140[label="",style="dashed", color="red", weight=0]; 149.44/106.77 403[label="vuz30 == fromInt (Pos Zero)",fontsize=16,color="magenta"];403 -> 410[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 402[label="gcd2 vuz52 vuz30 vuz29",fontsize=16,color="burlywood",shape="triangle"];1171[label="vuz52/False",fontsize=10,color="white",style="solid",shape="box"];402 -> 1171[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1171 -> 411[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1172[label="vuz52/True",fontsize=10,color="white",style="solid",shape="box"];402 -> 1172[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1172 -> 412[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 404[label="Pos (primDivNatS vuz280 (Succ vuz4800))",fontsize=16,color="green",shape="box"];404 -> 421[label="",style="dashed", color="green", weight=3]; 149.44/106.77 405[label="error []",fontsize=16,color="black",shape="triangle"];405 -> 422[label="",style="solid", color="black", weight=3]; 149.44/106.77 406[label="Neg (primDivNatS vuz280 (Succ vuz4800))",fontsize=16,color="green",shape="box"];406 -> 423[label="",style="dashed", color="green", weight=3]; 149.44/106.77 407 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 407[label="error []",fontsize=16,color="magenta"];274[label="vuz30",fontsize=16,color="green",shape="box"];275[label="primQuotInt (Neg vuz280) (gcd2 False vuz30 vuz29)",fontsize=16,color="black",shape="box"];275 -> 281[label="",style="solid", color="black", weight=3]; 149.44/106.77 276[label="primQuotInt (Neg vuz280) (gcd2 True vuz30 vuz29)",fontsize=16,color="black",shape="box"];276 -> 282[label="",style="solid", color="black", weight=3]; 149.44/106.77 396[label="vuz33",fontsize=16,color="green",shape="box"];397[label="gcd2 False vuz33 vuz32",fontsize=16,color="black",shape="box"];397 -> 413[label="",style="solid", color="black", weight=3]; 149.44/106.77 398[label="gcd2 True vuz33 vuz32",fontsize=16,color="black",shape="box"];398 -> 414[label="",style="solid", color="black", weight=3]; 149.44/106.77 408[label="primQuotInt (Pos vuz3100) vuz450",fontsize=16,color="burlywood",shape="box"];1173[label="vuz450/Pos vuz4500",fontsize=10,color="white",style="solid",shape="box"];408 -> 1173[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1173 -> 424[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1174[label="vuz450/Neg vuz4500",fontsize=10,color="white",style="solid",shape="box"];408 -> 1174[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1174 -> 425[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 409[label="primQuotInt (Neg vuz3100) vuz450",fontsize=16,color="burlywood",shape="box"];1175[label="vuz450/Pos vuz4500",fontsize=10,color="white",style="solid",shape="box"];409 -> 1175[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1175 -> 426[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1176[label="vuz450/Neg vuz4500",fontsize=10,color="white",style="solid",shape="box"];409 -> 1176[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1176 -> 427[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 410[label="vuz30",fontsize=16,color="green",shape="box"];411[label="gcd2 False vuz30 vuz29",fontsize=16,color="black",shape="box"];411 -> 428[label="",style="solid", color="black", weight=3]; 149.44/106.77 412[label="gcd2 True vuz30 vuz29",fontsize=16,color="black",shape="box"];412 -> 429[label="",style="solid", color="black", weight=3]; 149.44/106.77 421[label="primDivNatS vuz280 (Succ vuz4800)",fontsize=16,color="burlywood",shape="triangle"];1177[label="vuz280/Succ vuz2800",fontsize=10,color="white",style="solid",shape="box"];421 -> 1177[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1177 -> 433[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1178[label="vuz280/Zero",fontsize=10,color="white",style="solid",shape="box"];421 -> 1178[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1178 -> 434[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 422[label="error []",fontsize=16,color="red",shape="box"];423 -> 421[label="",style="dashed", color="red", weight=0]; 149.44/106.77 423[label="primDivNatS vuz280 (Succ vuz4800)",fontsize=16,color="magenta"];423 -> 435[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 281[label="primQuotInt (Neg vuz280) (gcd0 vuz30 vuz29)",fontsize=16,color="black",shape="triangle"];281 -> 289[label="",style="solid", color="black", weight=3]; 149.44/106.77 282 -> 290[label="",style="dashed", color="red", weight=0]; 149.44/106.77 282[label="primQuotInt (Neg vuz280) (gcd1 (vuz29 == fromInt (Pos Zero)) vuz30 vuz29)",fontsize=16,color="magenta"];282 -> 291[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 413[label="gcd0 vuz33 vuz32",fontsize=16,color="black",shape="triangle"];413 -> 430[label="",style="solid", color="black", weight=3]; 149.44/106.77 414 -> 431[label="",style="dashed", color="red", weight=0]; 149.44/106.77 414[label="gcd1 (vuz32 == fromInt (Pos Zero)) vuz33 vuz32",fontsize=16,color="magenta"];414 -> 432[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 424[label="primQuotInt (Pos vuz3100) (Pos vuz4500)",fontsize=16,color="burlywood",shape="box"];1179[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];424 -> 1179[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1179 -> 436[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1180[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];424 -> 1180[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1180 -> 437[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 425[label="primQuotInt (Pos vuz3100) (Neg vuz4500)",fontsize=16,color="burlywood",shape="box"];1181[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];425 -> 1181[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1181 -> 438[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1182[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];425 -> 1182[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1182 -> 439[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 426[label="primQuotInt (Neg vuz3100) (Pos vuz4500)",fontsize=16,color="burlywood",shape="box"];1183[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];426 -> 1183[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1183 -> 440[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1184[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];426 -> 1184[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1184 -> 441[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 427[label="primQuotInt (Neg vuz3100) (Neg vuz4500)",fontsize=16,color="burlywood",shape="box"];1185[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];427 -> 1185[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1185 -> 442[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1186[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];427 -> 1186[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1186 -> 443[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 428[label="gcd0 vuz30 vuz29",fontsize=16,color="black",shape="triangle"];428 -> 444[label="",style="solid", color="black", weight=3]; 149.44/106.77 429 -> 445[label="",style="dashed", color="red", weight=0]; 149.44/106.77 429[label="gcd1 (vuz29 == fromInt (Pos Zero)) vuz30 vuz29",fontsize=16,color="magenta"];429 -> 446[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 433[label="primDivNatS (Succ vuz2800) (Succ vuz4800)",fontsize=16,color="black",shape="box"];433 -> 447[label="",style="solid", color="black", weight=3]; 149.44/106.77 434[label="primDivNatS Zero (Succ vuz4800)",fontsize=16,color="black",shape="box"];434 -> 448[label="",style="solid", color="black", weight=3]; 149.44/106.77 435[label="vuz4800",fontsize=16,color="green",shape="box"];289[label="primQuotInt (Neg vuz280) (gcd0Gcd' (abs vuz30) (abs vuz29))",fontsize=16,color="black",shape="box"];289 -> 300[label="",style="solid", color="black", weight=3]; 149.44/106.77 291 -> 140[label="",style="dashed", color="red", weight=0]; 149.44/106.77 291[label="vuz29 == fromInt (Pos Zero)",fontsize=16,color="magenta"];291 -> 301[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 290[label="primQuotInt (Neg vuz280) (gcd1 vuz39 vuz30 vuz29)",fontsize=16,color="burlywood",shape="triangle"];1187[label="vuz39/False",fontsize=10,color="white",style="solid",shape="box"];290 -> 1187[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1187 -> 302[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1188[label="vuz39/True",fontsize=10,color="white",style="solid",shape="box"];290 -> 1188[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1188 -> 303[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 430[label="gcd0Gcd' (abs vuz33) (abs vuz32)",fontsize=16,color="black",shape="box"];430 -> 449[label="",style="solid", color="black", weight=3]; 149.44/106.77 432 -> 138[label="",style="dashed", color="red", weight=0]; 149.44/106.77 432[label="vuz32 == fromInt (Pos Zero)",fontsize=16,color="magenta"];432 -> 450[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 431[label="gcd1 vuz53 vuz33 vuz32",fontsize=16,color="burlywood",shape="triangle"];1189[label="vuz53/False",fontsize=10,color="white",style="solid",shape="box"];431 -> 1189[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1189 -> 451[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1190[label="vuz53/True",fontsize=10,color="white",style="solid",shape="box"];431 -> 1190[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1190 -> 452[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 436[label="primQuotInt (Pos vuz3100) (Pos (Succ vuz45000))",fontsize=16,color="black",shape="box"];436 -> 453[label="",style="solid", color="black", weight=3]; 149.44/106.77 437[label="primQuotInt (Pos vuz3100) (Pos Zero)",fontsize=16,color="black",shape="box"];437 -> 454[label="",style="solid", color="black", weight=3]; 149.44/106.77 438[label="primQuotInt (Pos vuz3100) (Neg (Succ vuz45000))",fontsize=16,color="black",shape="box"];438 -> 455[label="",style="solid", color="black", weight=3]; 149.44/106.77 439[label="primQuotInt (Pos vuz3100) (Neg Zero)",fontsize=16,color="black",shape="box"];439 -> 456[label="",style="solid", color="black", weight=3]; 149.44/106.77 440[label="primQuotInt (Neg vuz3100) (Pos (Succ vuz45000))",fontsize=16,color="black",shape="box"];440 -> 457[label="",style="solid", color="black", weight=3]; 149.44/106.77 441[label="primQuotInt (Neg vuz3100) (Pos Zero)",fontsize=16,color="black",shape="box"];441 -> 458[label="",style="solid", color="black", weight=3]; 149.44/106.77 442[label="primQuotInt (Neg vuz3100) (Neg (Succ vuz45000))",fontsize=16,color="black",shape="box"];442 -> 459[label="",style="solid", color="black", weight=3]; 149.44/106.77 443[label="primQuotInt (Neg vuz3100) (Neg Zero)",fontsize=16,color="black",shape="box"];443 -> 460[label="",style="solid", color="black", weight=3]; 149.44/106.77 444 -> 461[label="",style="dashed", color="red", weight=0]; 149.44/106.77 444[label="gcd0Gcd' (abs vuz30) (abs vuz29)",fontsize=16,color="magenta"];444 -> 462[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 444 -> 463[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 446 -> 140[label="",style="dashed", color="red", weight=0]; 149.44/106.77 446[label="vuz29 == fromInt (Pos Zero)",fontsize=16,color="magenta"];446 -> 464[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 445[label="gcd1 vuz54 vuz30 vuz29",fontsize=16,color="burlywood",shape="triangle"];1191[label="vuz54/False",fontsize=10,color="white",style="solid",shape="box"];445 -> 1191[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1191 -> 465[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1192[label="vuz54/True",fontsize=10,color="white",style="solid",shape="box"];445 -> 1192[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1192 -> 466[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 447[label="primDivNatS0 vuz2800 vuz4800 (primGEqNatS vuz2800 vuz4800)",fontsize=16,color="burlywood",shape="box"];1193[label="vuz2800/Succ vuz28000",fontsize=10,color="white",style="solid",shape="box"];447 -> 1193[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1193 -> 467[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1194[label="vuz2800/Zero",fontsize=10,color="white",style="solid",shape="box"];447 -> 1194[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1194 -> 468[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 448[label="Zero",fontsize=16,color="green",shape="box"];300[label="primQuotInt (Neg vuz280) (gcd0Gcd'2 (abs vuz30) (abs vuz29))",fontsize=16,color="black",shape="box"];300 -> 310[label="",style="solid", color="black", weight=3]; 149.44/106.77 301[label="vuz29",fontsize=16,color="green",shape="box"];302[label="primQuotInt (Neg vuz280) (gcd1 False vuz30 vuz29)",fontsize=16,color="black",shape="box"];302 -> 311[label="",style="solid", color="black", weight=3]; 149.44/106.77 303[label="primQuotInt (Neg vuz280) (gcd1 True vuz30 vuz29)",fontsize=16,color="black",shape="box"];303 -> 312[label="",style="solid", color="black", weight=3]; 149.44/106.77 449[label="gcd0Gcd'2 (abs vuz33) (abs vuz32)",fontsize=16,color="black",shape="box"];449 -> 469[label="",style="solid", color="black", weight=3]; 149.44/106.77 450[label="vuz32",fontsize=16,color="green",shape="box"];451[label="gcd1 False vuz33 vuz32",fontsize=16,color="black",shape="box"];451 -> 470[label="",style="solid", color="black", weight=3]; 149.44/106.77 452[label="gcd1 True vuz33 vuz32",fontsize=16,color="black",shape="box"];452 -> 471[label="",style="solid", color="black", weight=3]; 149.44/106.77 453[label="Pos (primDivNatS vuz3100 (Succ vuz45000))",fontsize=16,color="green",shape="box"];453 -> 472[label="",style="dashed", color="green", weight=3]; 149.44/106.77 454 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 454[label="error []",fontsize=16,color="magenta"];455[label="Neg (primDivNatS vuz3100 (Succ vuz45000))",fontsize=16,color="green",shape="box"];455 -> 473[label="",style="dashed", color="green", weight=3]; 149.44/106.77 456 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 456[label="error []",fontsize=16,color="magenta"];457[label="Neg (primDivNatS vuz3100 (Succ vuz45000))",fontsize=16,color="green",shape="box"];457 -> 474[label="",style="dashed", color="green", weight=3]; 149.44/106.77 458 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 458[label="error []",fontsize=16,color="magenta"];459[label="Pos (primDivNatS vuz3100 (Succ vuz45000))",fontsize=16,color="green",shape="box"];459 -> 475[label="",style="dashed", color="green", weight=3]; 149.44/106.77 460 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 460[label="error []",fontsize=16,color="magenta"];462 -> 325[label="",style="dashed", color="red", weight=0]; 149.44/106.77 462[label="abs vuz30",fontsize=16,color="magenta"];462 -> 476[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 463 -> 325[label="",style="dashed", color="red", weight=0]; 149.44/106.77 463[label="abs vuz29",fontsize=16,color="magenta"];461[label="gcd0Gcd' vuz56 vuz55",fontsize=16,color="black",shape="triangle"];461 -> 477[label="",style="solid", color="black", weight=3]; 149.44/106.77 464[label="vuz29",fontsize=16,color="green",shape="box"];465[label="gcd1 False vuz30 vuz29",fontsize=16,color="black",shape="box"];465 -> 481[label="",style="solid", color="black", weight=3]; 149.44/106.77 466[label="gcd1 True vuz30 vuz29",fontsize=16,color="black",shape="box"];466 -> 482[label="",style="solid", color="black", weight=3]; 149.44/106.77 467[label="primDivNatS0 (Succ vuz28000) vuz4800 (primGEqNatS (Succ vuz28000) vuz4800)",fontsize=16,color="burlywood",shape="box"];1195[label="vuz4800/Succ vuz48000",fontsize=10,color="white",style="solid",shape="box"];467 -> 1195[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1195 -> 483[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1196[label="vuz4800/Zero",fontsize=10,color="white",style="solid",shape="box"];467 -> 1196[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1196 -> 484[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 468[label="primDivNatS0 Zero vuz4800 (primGEqNatS Zero vuz4800)",fontsize=16,color="burlywood",shape="box"];1197[label="vuz4800/Succ vuz48000",fontsize=10,color="white",style="solid",shape="box"];468 -> 1197[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1197 -> 485[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1198[label="vuz4800/Zero",fontsize=10,color="white",style="solid",shape="box"];468 -> 1198[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1198 -> 486[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 310 -> 319[label="",style="dashed", color="red", weight=0]; 149.44/106.77 310[label="primQuotInt (Neg vuz280) (gcd0Gcd'1 (abs vuz29 == fromInt (Pos Zero)) (abs vuz30) (abs vuz29))",fontsize=16,color="magenta"];310 -> 320[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 311 -> 281[label="",style="dashed", color="red", weight=0]; 149.44/106.77 311[label="primQuotInt (Neg vuz280) (gcd0 vuz30 vuz29)",fontsize=16,color="magenta"];312[label="primQuotInt (Neg vuz280) (error [])",fontsize=16,color="black",shape="box"];312 -> 321[label="",style="solid", color="black", weight=3]; 149.44/106.77 469 -> 487[label="",style="dashed", color="red", weight=0]; 149.44/106.77 469[label="gcd0Gcd'1 (abs vuz32 == fromInt (Pos Zero)) (abs vuz33) (abs vuz32)",fontsize=16,color="magenta"];469 -> 488[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 470 -> 413[label="",style="dashed", color="red", weight=0]; 149.44/106.77 470[label="gcd0 vuz33 vuz32",fontsize=16,color="magenta"];471[label="error []",fontsize=16,color="black",shape="box"];471 -> 489[label="",style="solid", color="black", weight=3]; 149.44/106.77 472 -> 421[label="",style="dashed", color="red", weight=0]; 149.44/106.77 472[label="primDivNatS vuz3100 (Succ vuz45000)",fontsize=16,color="magenta"];472 -> 490[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 472 -> 491[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 473 -> 421[label="",style="dashed", color="red", weight=0]; 149.44/106.77 473[label="primDivNatS vuz3100 (Succ vuz45000)",fontsize=16,color="magenta"];473 -> 492[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 473 -> 493[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 474 -> 421[label="",style="dashed", color="red", weight=0]; 149.44/106.77 474[label="primDivNatS vuz3100 (Succ vuz45000)",fontsize=16,color="magenta"];474 -> 494[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 474 -> 495[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 475 -> 421[label="",style="dashed", color="red", weight=0]; 149.44/106.77 475[label="primDivNatS vuz3100 (Succ vuz45000)",fontsize=16,color="magenta"];475 -> 496[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 475 -> 497[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 476[label="vuz30",fontsize=16,color="green",shape="box"];325[label="abs vuz29",fontsize=16,color="black",shape="triangle"];325 -> 334[label="",style="solid", color="black", weight=3]; 149.44/106.77 477[label="gcd0Gcd'2 vuz56 vuz55",fontsize=16,color="black",shape="box"];477 -> 498[label="",style="solid", color="black", weight=3]; 149.44/106.77 481 -> 428[label="",style="dashed", color="red", weight=0]; 149.44/106.77 481[label="gcd0 vuz30 vuz29",fontsize=16,color="magenta"];482 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 482[label="error []",fontsize=16,color="magenta"];483[label="primDivNatS0 (Succ vuz28000) (Succ vuz48000) (primGEqNatS (Succ vuz28000) (Succ vuz48000))",fontsize=16,color="black",shape="box"];483 -> 499[label="",style="solid", color="black", weight=3]; 149.44/106.77 484[label="primDivNatS0 (Succ vuz28000) Zero (primGEqNatS (Succ vuz28000) Zero)",fontsize=16,color="black",shape="box"];484 -> 500[label="",style="solid", color="black", weight=3]; 149.44/106.77 485[label="primDivNatS0 Zero (Succ vuz48000) (primGEqNatS Zero (Succ vuz48000))",fontsize=16,color="black",shape="box"];485 -> 501[label="",style="solid", color="black", weight=3]; 149.44/106.77 486[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];486 -> 502[label="",style="solid", color="black", weight=3]; 149.44/106.77 320 -> 140[label="",style="dashed", color="red", weight=0]; 149.44/106.77 320[label="abs vuz29 == fromInt (Pos Zero)",fontsize=16,color="magenta"];320 -> 328[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 319[label="primQuotInt (Neg vuz280) (gcd0Gcd'1 vuz42 (abs vuz30) (abs vuz29))",fontsize=16,color="burlywood",shape="triangle"];1199[label="vuz42/False",fontsize=10,color="white",style="solid",shape="box"];319 -> 1199[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1199 -> 329[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1200[label="vuz42/True",fontsize=10,color="white",style="solid",shape="box"];319 -> 1200[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1200 -> 330[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 321[label="error []",fontsize=16,color="red",shape="box"];488 -> 138[label="",style="dashed", color="red", weight=0]; 149.44/106.77 488[label="abs vuz32 == fromInt (Pos Zero)",fontsize=16,color="magenta"];488 -> 503[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 487[label="gcd0Gcd'1 vuz57 (abs vuz33) (abs vuz32)",fontsize=16,color="burlywood",shape="triangle"];1201[label="vuz57/False",fontsize=10,color="white",style="solid",shape="box"];487 -> 1201[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1201 -> 504[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1202[label="vuz57/True",fontsize=10,color="white",style="solid",shape="box"];487 -> 1202[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1202 -> 505[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 489[label="error []",fontsize=16,color="red",shape="box"];490[label="vuz3100",fontsize=16,color="green",shape="box"];491[label="vuz45000",fontsize=16,color="green",shape="box"];492[label="vuz3100",fontsize=16,color="green",shape="box"];493[label="vuz45000",fontsize=16,color="green",shape="box"];494[label="vuz3100",fontsize=16,color="green",shape="box"];495[label="vuz45000",fontsize=16,color="green",shape="box"];496[label="vuz3100",fontsize=16,color="green",shape="box"];497[label="vuz45000",fontsize=16,color="green",shape="box"];334[label="absReal vuz29",fontsize=16,color="black",shape="box"];334 -> 362[label="",style="solid", color="black", weight=3]; 149.44/106.77 498 -> 509[label="",style="dashed", color="red", weight=0]; 149.44/106.77 498[label="gcd0Gcd'1 (vuz55 == fromInt (Pos Zero)) vuz56 vuz55",fontsize=16,color="magenta"];498 -> 510[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 499 -> 839[label="",style="dashed", color="red", weight=0]; 149.44/106.77 499[label="primDivNatS0 (Succ vuz28000) (Succ vuz48000) (primGEqNatS vuz28000 vuz48000)",fontsize=16,color="magenta"];499 -> 840[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 499 -> 841[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 499 -> 842[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 499 -> 843[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 500[label="primDivNatS0 (Succ vuz28000) Zero True",fontsize=16,color="black",shape="box"];500 -> 513[label="",style="solid", color="black", weight=3]; 149.44/106.77 501[label="primDivNatS0 Zero (Succ vuz48000) False",fontsize=16,color="black",shape="box"];501 -> 514[label="",style="solid", color="black", weight=3]; 149.44/106.77 502[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];502 -> 515[label="",style="solid", color="black", weight=3]; 149.44/106.77 328 -> 325[label="",style="dashed", color="red", weight=0]; 149.44/106.77 328[label="abs vuz29",fontsize=16,color="magenta"];329[label="primQuotInt (Neg vuz280) (gcd0Gcd'1 False (abs vuz30) (abs vuz29))",fontsize=16,color="black",shape="box"];329 -> 337[label="",style="solid", color="black", weight=3]; 149.44/106.77 330[label="primQuotInt (Neg vuz280) (gcd0Gcd'1 True (abs vuz30) (abs vuz29))",fontsize=16,color="black",shape="box"];330 -> 338[label="",style="solid", color="black", weight=3]; 149.44/106.77 503[label="abs vuz32",fontsize=16,color="black",shape="triangle"];503 -> 516[label="",style="solid", color="black", weight=3]; 149.44/106.77 504[label="gcd0Gcd'1 False (abs vuz33) (abs vuz32)",fontsize=16,color="black",shape="box"];504 -> 517[label="",style="solid", color="black", weight=3]; 149.44/106.77 505[label="gcd0Gcd'1 True (abs vuz33) (abs vuz32)",fontsize=16,color="black",shape="box"];505 -> 518[label="",style="solid", color="black", weight=3]; 149.44/106.77 362[label="absReal2 vuz29",fontsize=16,color="black",shape="box"];362 -> 420[label="",style="solid", color="black", weight=3]; 149.44/106.77 510 -> 140[label="",style="dashed", color="red", weight=0]; 149.44/106.77 510[label="vuz55 == fromInt (Pos Zero)",fontsize=16,color="magenta"];510 -> 519[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 509[label="gcd0Gcd'1 vuz58 vuz56 vuz55",fontsize=16,color="burlywood",shape="triangle"];1203[label="vuz58/False",fontsize=10,color="white",style="solid",shape="box"];509 -> 1203[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1203 -> 520[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1204[label="vuz58/True",fontsize=10,color="white",style="solid",shape="box"];509 -> 1204[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1204 -> 521[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 840[label="vuz28000",fontsize=16,color="green",shape="box"];841[label="vuz28000",fontsize=16,color="green",shape="box"];842[label="vuz48000",fontsize=16,color="green",shape="box"];843[label="vuz48000",fontsize=16,color="green",shape="box"];839[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS vuz80 vuz81)",fontsize=16,color="burlywood",shape="triangle"];1205[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];839 -> 1205[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1205 -> 872[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1206[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];839 -> 1206[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1206 -> 873[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 513[label="Succ (primDivNatS (primMinusNatS (Succ vuz28000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];513 -> 528[label="",style="dashed", color="green", weight=3]; 149.44/106.77 514[label="Zero",fontsize=16,color="green",shape="box"];515[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];515 -> 529[label="",style="dashed", color="green", weight=3]; 149.44/106.77 337 -> 399[label="",style="dashed", color="red", weight=0]; 149.44/106.77 337[label="primQuotInt (Neg vuz280) (gcd0Gcd'0 (abs vuz30) (abs vuz29))",fontsize=16,color="magenta"];337 -> 400[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 337 -> 401[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 338 -> 395[label="",style="dashed", color="red", weight=0]; 149.44/106.77 338[label="primQuotInt (Neg vuz280) (abs vuz30)",fontsize=16,color="magenta"];338 -> 415[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 338 -> 416[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 516[label="absReal vuz32",fontsize=16,color="black",shape="box"];516 -> 530[label="",style="solid", color="black", weight=3]; 149.44/106.77 517 -> 531[label="",style="dashed", color="red", weight=0]; 149.44/106.77 517[label="gcd0Gcd'0 (abs vuz33) (abs vuz32)",fontsize=16,color="magenta"];517 -> 532[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 517 -> 533[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 518 -> 503[label="",style="dashed", color="red", weight=0]; 149.44/106.77 518[label="abs vuz33",fontsize=16,color="magenta"];518 -> 534[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 420[label="absReal1 vuz29 (vuz29 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];420 -> 480[label="",style="solid", color="black", weight=3]; 149.44/106.77 519[label="vuz55",fontsize=16,color="green",shape="box"];520[label="gcd0Gcd'1 False vuz56 vuz55",fontsize=16,color="black",shape="box"];520 -> 535[label="",style="solid", color="black", weight=3]; 149.44/106.77 521[label="gcd0Gcd'1 True vuz56 vuz55",fontsize=16,color="black",shape="box"];521 -> 536[label="",style="solid", color="black", weight=3]; 149.44/106.77 872[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS (Succ vuz800) vuz81)",fontsize=16,color="burlywood",shape="box"];1207[label="vuz81/Succ vuz810",fontsize=10,color="white",style="solid",shape="box"];872 -> 1207[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1207 -> 882[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1208[label="vuz81/Zero",fontsize=10,color="white",style="solid",shape="box"];872 -> 1208[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1208 -> 883[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 873[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS Zero vuz81)",fontsize=16,color="burlywood",shape="box"];1209[label="vuz81/Succ vuz810",fontsize=10,color="white",style="solid",shape="box"];873 -> 1209[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1209 -> 884[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1210[label="vuz81/Zero",fontsize=10,color="white",style="solid",shape="box"];873 -> 1210[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1210 -> 885[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 528 -> 421[label="",style="dashed", color="red", weight=0]; 149.44/106.77 528[label="primDivNatS (primMinusNatS (Succ vuz28000) Zero) (Succ Zero)",fontsize=16,color="magenta"];528 -> 541[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 528 -> 542[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 529 -> 421[label="",style="dashed", color="red", weight=0]; 149.44/106.77 529[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];529 -> 543[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 529 -> 544[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 400 -> 325[label="",style="dashed", color="red", weight=0]; 149.44/106.77 400[label="abs vuz29",fontsize=16,color="magenta"];401 -> 325[label="",style="dashed", color="red", weight=0]; 149.44/106.77 401[label="abs vuz30",fontsize=16,color="magenta"];401 -> 417[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 399 -> 395[label="",style="dashed", color="red", weight=0]; 149.44/106.77 399[label="primQuotInt (Neg vuz280) (gcd0Gcd'0 vuz51 vuz50)",fontsize=16,color="magenta"];399 -> 418[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 399 -> 419[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 415 -> 325[label="",style="dashed", color="red", weight=0]; 149.44/106.77 415[label="abs vuz30",fontsize=16,color="magenta"];415 -> 478[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 416[label="Neg vuz280",fontsize=16,color="green",shape="box"];530[label="absReal2 vuz32",fontsize=16,color="black",shape="box"];530 -> 545[label="",style="solid", color="black", weight=3]; 149.44/106.77 532 -> 503[label="",style="dashed", color="red", weight=0]; 149.44/106.77 532[label="abs vuz33",fontsize=16,color="magenta"];532 -> 546[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 533 -> 503[label="",style="dashed", color="red", weight=0]; 149.44/106.77 533[label="abs vuz32",fontsize=16,color="magenta"];531[label="gcd0Gcd'0 vuz60 vuz59",fontsize=16,color="black",shape="triangle"];531 -> 547[label="",style="solid", color="black", weight=3]; 149.44/106.77 534[label="vuz33",fontsize=16,color="green",shape="box"];480[label="absReal1 vuz29 (compare vuz29 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];480 -> 506[label="",style="solid", color="black", weight=3]; 149.44/106.77 535 -> 418[label="",style="dashed", color="red", weight=0]; 149.44/106.77 535[label="gcd0Gcd'0 vuz56 vuz55",fontsize=16,color="magenta"];535 -> 552[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 535 -> 553[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 536[label="vuz56",fontsize=16,color="green",shape="box"];882[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS (Succ vuz800) (Succ vuz810))",fontsize=16,color="black",shape="box"];882 -> 892[label="",style="solid", color="black", weight=3]; 149.44/106.77 883[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS (Succ vuz800) Zero)",fontsize=16,color="black",shape="box"];883 -> 893[label="",style="solid", color="black", weight=3]; 149.44/106.77 884[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS Zero (Succ vuz810))",fontsize=16,color="black",shape="box"];884 -> 894[label="",style="solid", color="black", weight=3]; 149.44/106.77 885[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];885 -> 895[label="",style="solid", color="black", weight=3]; 149.44/106.77 541[label="primMinusNatS (Succ vuz28000) Zero",fontsize=16,color="black",shape="triangle"];541 -> 559[label="",style="solid", color="black", weight=3]; 149.44/106.77 542[label="Zero",fontsize=16,color="green",shape="box"];543[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];543 -> 560[label="",style="solid", color="black", weight=3]; 149.44/106.77 544[label="Zero",fontsize=16,color="green",shape="box"];417[label="vuz30",fontsize=16,color="green",shape="box"];418[label="gcd0Gcd'0 vuz51 vuz50",fontsize=16,color="black",shape="triangle"];418 -> 479[label="",style="solid", color="black", weight=3]; 149.44/106.77 419[label="Neg vuz280",fontsize=16,color="green",shape="box"];478[label="vuz30",fontsize=16,color="green",shape="box"];545[label="absReal1 vuz32 (vuz32 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];545 -> 561[label="",style="solid", color="black", weight=3]; 149.44/106.77 546[label="vuz33",fontsize=16,color="green",shape="box"];547[label="gcd0Gcd' vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="black",shape="box"];547 -> 562[label="",style="solid", color="black", weight=3]; 149.44/106.77 506[label="absReal1 vuz29 (not (compare vuz29 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];506 -> 522[label="",style="solid", color="black", weight=3]; 149.44/106.77 552[label="vuz55",fontsize=16,color="green",shape="box"];553[label="vuz56",fontsize=16,color="green",shape="box"];892 -> 839[label="",style="dashed", color="red", weight=0]; 149.44/106.77 892[label="primDivNatS0 (Succ vuz78) (Succ vuz79) (primGEqNatS vuz800 vuz810)",fontsize=16,color="magenta"];892 -> 902[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 892 -> 903[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 893[label="primDivNatS0 (Succ vuz78) (Succ vuz79) True",fontsize=16,color="black",shape="triangle"];893 -> 904[label="",style="solid", color="black", weight=3]; 149.44/106.77 894[label="primDivNatS0 (Succ vuz78) (Succ vuz79) False",fontsize=16,color="black",shape="box"];894 -> 905[label="",style="solid", color="black", weight=3]; 149.44/106.77 895 -> 893[label="",style="dashed", color="red", weight=0]; 149.44/106.77 895[label="primDivNatS0 (Succ vuz78) (Succ vuz79) True",fontsize=16,color="magenta"];559[label="Succ vuz28000",fontsize=16,color="green",shape="box"];560[label="Zero",fontsize=16,color="green",shape="box"];479 -> 461[label="",style="dashed", color="red", weight=0]; 149.44/106.77 479[label="gcd0Gcd' vuz50 (vuz51 `rem` vuz50)",fontsize=16,color="magenta"];479 -> 507[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 479 -> 508[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 561[label="absReal1 vuz32 (compare vuz32 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];561 -> 577[label="",style="solid", color="black", weight=3]; 149.44/106.77 562[label="gcd0Gcd'2 vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="black",shape="box"];562 -> 578[label="",style="solid", color="black", weight=3]; 149.44/106.77 522[label="absReal1 vuz29 (not (primCmpInt vuz29 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1211[label="vuz29/Pos vuz290",fontsize=10,color="white",style="solid",shape="box"];522 -> 1211[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1211 -> 548[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1212[label="vuz29/Neg vuz290",fontsize=10,color="white",style="solid",shape="box"];522 -> 1212[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1212 -> 549[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 902[label="vuz800",fontsize=16,color="green",shape="box"];903[label="vuz810",fontsize=16,color="green",shape="box"];904[label="Succ (primDivNatS (primMinusNatS (Succ vuz78) (Succ vuz79)) (Succ (Succ vuz79)))",fontsize=16,color="green",shape="box"];904 -> 914[label="",style="dashed", color="green", weight=3]; 149.44/106.77 905[label="Zero",fontsize=16,color="green",shape="box"];507[label="vuz50",fontsize=16,color="green",shape="box"];508[label="vuz51 `rem` vuz50",fontsize=16,color="black",shape="box"];508 -> 523[label="",style="solid", color="black", weight=3]; 149.44/106.77 577[label="absReal1 vuz32 (not (compare vuz32 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1213[label="vuz32/Integer vuz320",fontsize=10,color="white",style="solid",shape="box"];577 -> 1213[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1213 -> 599[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 578 -> 600[label="",style="dashed", color="red", weight=0]; 149.44/106.77 578[label="gcd0Gcd'1 (vuz60 `rem` vuz59 == fromInt (Pos Zero)) vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="magenta"];578 -> 601[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 548[label="absReal1 (Pos vuz290) (not (primCmpInt (Pos vuz290) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1214[label="vuz290/Succ vuz2900",fontsize=10,color="white",style="solid",shape="box"];548 -> 1214[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1214 -> 563[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1215[label="vuz290/Zero",fontsize=10,color="white",style="solid",shape="box"];548 -> 1215[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1215 -> 564[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 549[label="absReal1 (Neg vuz290) (not (primCmpInt (Neg vuz290) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1216[label="vuz290/Succ vuz2900",fontsize=10,color="white",style="solid",shape="box"];549 -> 1216[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1216 -> 565[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1217[label="vuz290/Zero",fontsize=10,color="white",style="solid",shape="box"];549 -> 1217[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1217 -> 566[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 914 -> 421[label="",style="dashed", color="red", weight=0]; 149.44/106.77 914[label="primDivNatS (primMinusNatS (Succ vuz78) (Succ vuz79)) (Succ (Succ vuz79))",fontsize=16,color="magenta"];914 -> 921[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 914 -> 922[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 523[label="primRemInt vuz51 vuz50",fontsize=16,color="burlywood",shape="triangle"];1218[label="vuz51/Pos vuz510",fontsize=10,color="white",style="solid",shape="box"];523 -> 1218[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1218 -> 550[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1219[label="vuz51/Neg vuz510",fontsize=10,color="white",style="solid",shape="box"];523 -> 1219[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1219 -> 551[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 599[label="absReal1 (Integer vuz320) (not (compare (Integer vuz320) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];599 -> 609[label="",style="solid", color="black", weight=3]; 149.44/106.77 601 -> 138[label="",style="dashed", color="red", weight=0]; 149.44/106.77 601[label="vuz60 `rem` vuz59 == fromInt (Pos Zero)",fontsize=16,color="magenta"];601 -> 610[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 600[label="gcd0Gcd'1 vuz61 vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="burlywood",shape="triangle"];1220[label="vuz61/False",fontsize=10,color="white",style="solid",shape="box"];600 -> 1220[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1220 -> 611[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1221[label="vuz61/True",fontsize=10,color="white",style="solid",shape="box"];600 -> 1221[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1221 -> 612[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 563[label="absReal1 (Pos (Succ vuz2900)) (not (primCmpInt (Pos (Succ vuz2900)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];563 -> 579[label="",style="solid", color="black", weight=3]; 149.44/106.77 564[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];564 -> 580[label="",style="solid", color="black", weight=3]; 149.44/106.77 565[label="absReal1 (Neg (Succ vuz2900)) (not (primCmpInt (Neg (Succ vuz2900)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];565 -> 581[label="",style="solid", color="black", weight=3]; 149.44/106.77 566[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];566 -> 582[label="",style="solid", color="black", weight=3]; 149.44/106.77 921[label="primMinusNatS (Succ vuz78) (Succ vuz79)",fontsize=16,color="black",shape="box"];921 -> 929[label="",style="solid", color="black", weight=3]; 149.44/106.77 922[label="Succ vuz79",fontsize=16,color="green",shape="box"];550[label="primRemInt (Pos vuz510) vuz50",fontsize=16,color="burlywood",shape="box"];1222[label="vuz50/Pos vuz500",fontsize=10,color="white",style="solid",shape="box"];550 -> 1222[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1222 -> 567[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1223[label="vuz50/Neg vuz500",fontsize=10,color="white",style="solid",shape="box"];550 -> 1223[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1223 -> 568[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 551[label="primRemInt (Neg vuz510) vuz50",fontsize=16,color="burlywood",shape="box"];1224[label="vuz50/Pos vuz500",fontsize=10,color="white",style="solid",shape="box"];551 -> 1224[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1224 -> 569[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1225[label="vuz50/Neg vuz500",fontsize=10,color="white",style="solid",shape="box"];551 -> 1225[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1225 -> 570[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 609[label="absReal1 (Integer vuz320) (not (compare (Integer vuz320) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];609 -> 632[label="",style="solid", color="black", weight=3]; 149.44/106.77 610[label="vuz60 `rem` vuz59",fontsize=16,color="burlywood",shape="triangle"];1226[label="vuz60/Integer vuz600",fontsize=10,color="white",style="solid",shape="box"];610 -> 1226[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1226 -> 633[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 611[label="gcd0Gcd'1 False vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="black",shape="box"];611 -> 634[label="",style="solid", color="black", weight=3]; 149.44/106.77 612[label="gcd0Gcd'1 True vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="black",shape="box"];612 -> 635[label="",style="solid", color="black", weight=3]; 149.44/106.77 579[label="absReal1 (Pos (Succ vuz2900)) (not (primCmpInt (Pos (Succ vuz2900)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];579 -> 613[label="",style="solid", color="black", weight=3]; 149.44/106.77 580[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];580 -> 614[label="",style="solid", color="black", weight=3]; 149.44/106.77 581[label="absReal1 (Neg (Succ vuz2900)) (not (primCmpInt (Neg (Succ vuz2900)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];581 -> 615[label="",style="solid", color="black", weight=3]; 149.44/106.77 582[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];582 -> 616[label="",style="solid", color="black", weight=3]; 149.44/106.77 929[label="primMinusNatS vuz78 vuz79",fontsize=16,color="burlywood",shape="triangle"];1227[label="vuz78/Succ vuz780",fontsize=10,color="white",style="solid",shape="box"];929 -> 1227[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1227 -> 938[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1228[label="vuz78/Zero",fontsize=10,color="white",style="solid",shape="box"];929 -> 1228[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1228 -> 939[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 567[label="primRemInt (Pos vuz510) (Pos vuz500)",fontsize=16,color="burlywood",shape="box"];1229[label="vuz500/Succ vuz5000",fontsize=10,color="white",style="solid",shape="box"];567 -> 1229[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1229 -> 583[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1230[label="vuz500/Zero",fontsize=10,color="white",style="solid",shape="box"];567 -> 1230[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1230 -> 584[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 568[label="primRemInt (Pos vuz510) (Neg vuz500)",fontsize=16,color="burlywood",shape="box"];1231[label="vuz500/Succ vuz5000",fontsize=10,color="white",style="solid",shape="box"];568 -> 1231[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1231 -> 585[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1232[label="vuz500/Zero",fontsize=10,color="white",style="solid",shape="box"];568 -> 1232[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1232 -> 586[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 569[label="primRemInt (Neg vuz510) (Pos vuz500)",fontsize=16,color="burlywood",shape="box"];1233[label="vuz500/Succ vuz5000",fontsize=10,color="white",style="solid",shape="box"];569 -> 1233[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1233 -> 587[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1234[label="vuz500/Zero",fontsize=10,color="white",style="solid",shape="box"];569 -> 1234[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1234 -> 588[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 570[label="primRemInt (Neg vuz510) (Neg vuz500)",fontsize=16,color="burlywood",shape="box"];1235[label="vuz500/Succ vuz5000",fontsize=10,color="white",style="solid",shape="box"];570 -> 1235[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1235 -> 589[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1236[label="vuz500/Zero",fontsize=10,color="white",style="solid",shape="box"];570 -> 1236[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1236 -> 590[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 632[label="absReal1 (Integer vuz320) (not (primCmpInt vuz320 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1237[label="vuz320/Pos vuz3200",fontsize=10,color="white",style="solid",shape="box"];632 -> 1237[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1237 -> 652[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1238[label="vuz320/Neg vuz3200",fontsize=10,color="white",style="solid",shape="box"];632 -> 1238[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1238 -> 653[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 633[label="Integer vuz600 `rem` vuz59",fontsize=16,color="burlywood",shape="box"];1239[label="vuz59/Integer vuz590",fontsize=10,color="white",style="solid",shape="box"];633 -> 1239[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1239 -> 654[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 634 -> 531[label="",style="dashed", color="red", weight=0]; 149.44/106.77 634[label="gcd0Gcd'0 vuz59 (vuz60 `rem` vuz59)",fontsize=16,color="magenta"];634 -> 655[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 634 -> 656[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 635[label="vuz59",fontsize=16,color="green",shape="box"];613[label="absReal1 (Pos (Succ vuz2900)) (not (primCmpNat (Succ vuz2900) Zero == LT))",fontsize=16,color="black",shape="box"];613 -> 636[label="",style="solid", color="black", weight=3]; 149.44/106.77 614[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];614 -> 637[label="",style="solid", color="black", weight=3]; 149.44/106.77 615[label="absReal1 (Neg (Succ vuz2900)) (not (LT == LT))",fontsize=16,color="black",shape="box"];615 -> 638[label="",style="solid", color="black", weight=3]; 149.44/106.77 616[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];616 -> 639[label="",style="solid", color="black", weight=3]; 149.44/106.77 938[label="primMinusNatS (Succ vuz780) vuz79",fontsize=16,color="burlywood",shape="box"];1240[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];938 -> 1240[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1240 -> 948[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1241[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];938 -> 1241[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1241 -> 949[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 939[label="primMinusNatS Zero vuz79",fontsize=16,color="burlywood",shape="box"];1242[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];939 -> 1242[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1242 -> 950[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1243[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];939 -> 1243[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1243 -> 951[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 583[label="primRemInt (Pos vuz510) (Pos (Succ vuz5000))",fontsize=16,color="black",shape="box"];583 -> 617[label="",style="solid", color="black", weight=3]; 149.44/106.77 584[label="primRemInt (Pos vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];584 -> 618[label="",style="solid", color="black", weight=3]; 149.44/106.77 585[label="primRemInt (Pos vuz510) (Neg (Succ vuz5000))",fontsize=16,color="black",shape="box"];585 -> 619[label="",style="solid", color="black", weight=3]; 149.44/106.77 586[label="primRemInt (Pos vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];586 -> 620[label="",style="solid", color="black", weight=3]; 149.44/106.77 587[label="primRemInt (Neg vuz510) (Pos (Succ vuz5000))",fontsize=16,color="black",shape="box"];587 -> 621[label="",style="solid", color="black", weight=3]; 149.44/106.77 588[label="primRemInt (Neg vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];588 -> 622[label="",style="solid", color="black", weight=3]; 149.44/106.77 589[label="primRemInt (Neg vuz510) (Neg (Succ vuz5000))",fontsize=16,color="black",shape="box"];589 -> 623[label="",style="solid", color="black", weight=3]; 149.44/106.77 590[label="primRemInt (Neg vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];590 -> 624[label="",style="solid", color="black", weight=3]; 149.44/106.77 652[label="absReal1 (Integer (Pos vuz3200)) (not (primCmpInt (Pos vuz3200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1244[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];652 -> 1244[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1244 -> 674[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1245[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];652 -> 1245[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1245 -> 675[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 653[label="absReal1 (Integer (Neg vuz3200)) (not (primCmpInt (Neg vuz3200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1246[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];653 -> 1246[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1246 -> 676[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1247[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];653 -> 1247[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1247 -> 677[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 654[label="Integer vuz600 `rem` Integer vuz590",fontsize=16,color="black",shape="box"];654 -> 678[label="",style="solid", color="black", weight=3]; 149.44/106.77 655[label="vuz59",fontsize=16,color="green",shape="box"];656 -> 610[label="",style="dashed", color="red", weight=0]; 149.44/106.77 656[label="vuz60 `rem` vuz59",fontsize=16,color="magenta"];636[label="absReal1 (Pos (Succ vuz2900)) (not (GT == LT))",fontsize=16,color="black",shape="box"];636 -> 657[label="",style="solid", color="black", weight=3]; 149.44/106.77 637[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];637 -> 658[label="",style="solid", color="black", weight=3]; 149.44/106.77 638[label="absReal1 (Neg (Succ vuz2900)) (not True)",fontsize=16,color="black",shape="box"];638 -> 659[label="",style="solid", color="black", weight=3]; 149.44/106.77 639[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];639 -> 660[label="",style="solid", color="black", weight=3]; 149.44/106.77 948[label="primMinusNatS (Succ vuz780) (Succ vuz790)",fontsize=16,color="black",shape="box"];948 -> 957[label="",style="solid", color="black", weight=3]; 149.44/106.77 949[label="primMinusNatS (Succ vuz780) Zero",fontsize=16,color="black",shape="box"];949 -> 958[label="",style="solid", color="black", weight=3]; 149.44/106.77 950[label="primMinusNatS Zero (Succ vuz790)",fontsize=16,color="black",shape="box"];950 -> 959[label="",style="solid", color="black", weight=3]; 149.44/106.77 951[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];951 -> 960[label="",style="solid", color="black", weight=3]; 149.44/106.77 617[label="Pos (primModNatS vuz510 (Succ vuz5000))",fontsize=16,color="green",shape="box"];617 -> 640[label="",style="dashed", color="green", weight=3]; 149.44/106.77 618 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 618[label="error []",fontsize=16,color="magenta"];619[label="Pos (primModNatS vuz510 (Succ vuz5000))",fontsize=16,color="green",shape="box"];619 -> 641[label="",style="dashed", color="green", weight=3]; 149.44/106.77 620 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 620[label="error []",fontsize=16,color="magenta"];621[label="Neg (primModNatS vuz510 (Succ vuz5000))",fontsize=16,color="green",shape="box"];621 -> 642[label="",style="dashed", color="green", weight=3]; 149.44/106.77 622 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 622[label="error []",fontsize=16,color="magenta"];623[label="Neg (primModNatS vuz510 (Succ vuz5000))",fontsize=16,color="green",shape="box"];623 -> 643[label="",style="dashed", color="green", weight=3]; 149.44/106.77 624 -> 405[label="",style="dashed", color="red", weight=0]; 149.44/106.77 624[label="error []",fontsize=16,color="magenta"];674[label="absReal1 (Integer (Pos (Succ vuz32000))) (not (primCmpInt (Pos (Succ vuz32000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];674 -> 692[label="",style="solid", color="black", weight=3]; 149.44/106.77 675[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];675 -> 693[label="",style="solid", color="black", weight=3]; 149.44/106.77 676[label="absReal1 (Integer (Neg (Succ vuz32000))) (not (primCmpInt (Neg (Succ vuz32000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];676 -> 694[label="",style="solid", color="black", weight=3]; 149.44/106.77 677[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];677 -> 695[label="",style="solid", color="black", weight=3]; 149.44/106.77 678[label="Integer (primRemInt vuz600 vuz590)",fontsize=16,color="green",shape="box"];678 -> 696[label="",style="dashed", color="green", weight=3]; 149.44/106.77 657[label="absReal1 (Pos (Succ vuz2900)) (not False)",fontsize=16,color="black",shape="box"];657 -> 679[label="",style="solid", color="black", weight=3]; 149.44/106.77 658[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];658 -> 680[label="",style="solid", color="black", weight=3]; 149.44/106.77 659[label="absReal1 (Neg (Succ vuz2900)) False",fontsize=16,color="black",shape="box"];659 -> 681[label="",style="solid", color="black", weight=3]; 149.44/106.77 660[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];660 -> 682[label="",style="solid", color="black", weight=3]; 149.44/106.77 957 -> 929[label="",style="dashed", color="red", weight=0]; 149.44/106.77 957[label="primMinusNatS vuz780 vuz790",fontsize=16,color="magenta"];957 -> 969[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 957 -> 970[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 958[label="Succ vuz780",fontsize=16,color="green",shape="box"];959[label="Zero",fontsize=16,color="green",shape="box"];960[label="Zero",fontsize=16,color="green",shape="box"];640[label="primModNatS vuz510 (Succ vuz5000)",fontsize=16,color="burlywood",shape="triangle"];1248[label="vuz510/Succ vuz5100",fontsize=10,color="white",style="solid",shape="box"];640 -> 1248[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1248 -> 661[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1249[label="vuz510/Zero",fontsize=10,color="white",style="solid",shape="box"];640 -> 1249[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1249 -> 662[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 641 -> 640[label="",style="dashed", color="red", weight=0]; 149.44/106.77 641[label="primModNatS vuz510 (Succ vuz5000)",fontsize=16,color="magenta"];641 -> 663[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 642 -> 640[label="",style="dashed", color="red", weight=0]; 149.44/106.77 642[label="primModNatS vuz510 (Succ vuz5000)",fontsize=16,color="magenta"];642 -> 664[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 643 -> 640[label="",style="dashed", color="red", weight=0]; 149.44/106.77 643[label="primModNatS vuz510 (Succ vuz5000)",fontsize=16,color="magenta"];643 -> 665[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 643 -> 666[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 692[label="absReal1 (Integer (Pos (Succ vuz32000))) (not (primCmpNat (Succ vuz32000) Zero == LT))",fontsize=16,color="black",shape="box"];692 -> 709[label="",style="solid", color="black", weight=3]; 149.44/106.77 693[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];693 -> 710[label="",style="solid", color="black", weight=3]; 149.44/106.77 694[label="absReal1 (Integer (Neg (Succ vuz32000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];694 -> 711[label="",style="solid", color="black", weight=3]; 149.44/106.77 695[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];695 -> 712[label="",style="solid", color="black", weight=3]; 149.44/106.77 696 -> 523[label="",style="dashed", color="red", weight=0]; 149.44/106.77 696[label="primRemInt vuz600 vuz590",fontsize=16,color="magenta"];696 -> 713[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 696 -> 714[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 679[label="absReal1 (Pos (Succ vuz2900)) True",fontsize=16,color="black",shape="box"];679 -> 697[label="",style="solid", color="black", weight=3]; 149.44/106.77 680[label="Pos Zero",fontsize=16,color="green",shape="box"];681[label="absReal0 (Neg (Succ vuz2900)) otherwise",fontsize=16,color="black",shape="box"];681 -> 698[label="",style="solid", color="black", weight=3]; 149.44/106.77 682[label="Neg Zero",fontsize=16,color="green",shape="box"];969[label="vuz780",fontsize=16,color="green",shape="box"];970[label="vuz790",fontsize=16,color="green",shape="box"];661[label="primModNatS (Succ vuz5100) (Succ vuz5000)",fontsize=16,color="black",shape="box"];661 -> 683[label="",style="solid", color="black", weight=3]; 149.44/106.77 662[label="primModNatS Zero (Succ vuz5000)",fontsize=16,color="black",shape="box"];662 -> 684[label="",style="solid", color="black", weight=3]; 149.44/106.77 663[label="vuz5000",fontsize=16,color="green",shape="box"];664[label="vuz510",fontsize=16,color="green",shape="box"];665[label="vuz5000",fontsize=16,color="green",shape="box"];666[label="vuz510",fontsize=16,color="green",shape="box"];709[label="absReal1 (Integer (Pos (Succ vuz32000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];709 -> 727[label="",style="solid", color="black", weight=3]; 149.44/106.77 710[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];710 -> 728[label="",style="solid", color="black", weight=3]; 149.44/106.77 711[label="absReal1 (Integer (Neg (Succ vuz32000))) (not True)",fontsize=16,color="black",shape="box"];711 -> 729[label="",style="solid", color="black", weight=3]; 149.44/106.77 712[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];712 -> 730[label="",style="solid", color="black", weight=3]; 149.44/106.77 713[label="vuz590",fontsize=16,color="green",shape="box"];714[label="vuz600",fontsize=16,color="green",shape="box"];697[label="Pos (Succ vuz2900)",fontsize=16,color="green",shape="box"];698[label="absReal0 (Neg (Succ vuz2900)) True",fontsize=16,color="black",shape="box"];698 -> 715[label="",style="solid", color="black", weight=3]; 149.44/106.77 683[label="primModNatS0 vuz5100 vuz5000 (primGEqNatS vuz5100 vuz5000)",fontsize=16,color="burlywood",shape="box"];1250[label="vuz5100/Succ vuz51000",fontsize=10,color="white",style="solid",shape="box"];683 -> 1250[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1250 -> 699[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1251[label="vuz5100/Zero",fontsize=10,color="white",style="solid",shape="box"];683 -> 1251[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1251 -> 700[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 684[label="Zero",fontsize=16,color="green",shape="box"];727[label="absReal1 (Integer (Pos (Succ vuz32000))) (not False)",fontsize=16,color="black",shape="box"];727 -> 743[label="",style="solid", color="black", weight=3]; 149.44/106.77 728[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];728 -> 744[label="",style="solid", color="black", weight=3]; 149.44/106.77 729[label="absReal1 (Integer (Neg (Succ vuz32000))) False",fontsize=16,color="black",shape="box"];729 -> 745[label="",style="solid", color="black", weight=3]; 149.44/106.77 730[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];730 -> 746[label="",style="solid", color="black", weight=3]; 149.44/106.77 715[label="`negate` Neg (Succ vuz2900)",fontsize=16,color="black",shape="box"];715 -> 731[label="",style="solid", color="black", weight=3]; 149.44/106.77 699[label="primModNatS0 (Succ vuz51000) vuz5000 (primGEqNatS (Succ vuz51000) vuz5000)",fontsize=16,color="burlywood",shape="box"];1252[label="vuz5000/Succ vuz50000",fontsize=10,color="white",style="solid",shape="box"];699 -> 1252[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1252 -> 716[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1253[label="vuz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];699 -> 1253[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1253 -> 717[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 700[label="primModNatS0 Zero vuz5000 (primGEqNatS Zero vuz5000)",fontsize=16,color="burlywood",shape="box"];1254[label="vuz5000/Succ vuz50000",fontsize=10,color="white",style="solid",shape="box"];700 -> 1254[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1254 -> 718[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1255[label="vuz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];700 -> 1255[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1255 -> 719[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 743[label="absReal1 (Integer (Pos (Succ vuz32000))) True",fontsize=16,color="black",shape="box"];743 -> 761[label="",style="solid", color="black", weight=3]; 149.44/106.77 744[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];745[label="absReal0 (Integer (Neg (Succ vuz32000))) otherwise",fontsize=16,color="black",shape="box"];745 -> 762[label="",style="solid", color="black", weight=3]; 149.44/106.77 746[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];731[label="primNegInt (Neg (Succ vuz2900))",fontsize=16,color="black",shape="triangle"];731 -> 747[label="",style="solid", color="black", weight=3]; 149.44/106.77 716[label="primModNatS0 (Succ vuz51000) (Succ vuz50000) (primGEqNatS (Succ vuz51000) (Succ vuz50000))",fontsize=16,color="black",shape="box"];716 -> 732[label="",style="solid", color="black", weight=3]; 149.44/106.77 717[label="primModNatS0 (Succ vuz51000) Zero (primGEqNatS (Succ vuz51000) Zero)",fontsize=16,color="black",shape="box"];717 -> 733[label="",style="solid", color="black", weight=3]; 149.44/106.77 718[label="primModNatS0 Zero (Succ vuz50000) (primGEqNatS Zero (Succ vuz50000))",fontsize=16,color="black",shape="box"];718 -> 734[label="",style="solid", color="black", weight=3]; 149.44/106.77 719[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];719 -> 735[label="",style="solid", color="black", weight=3]; 149.44/106.77 761[label="Integer (Pos (Succ vuz32000))",fontsize=16,color="green",shape="box"];762[label="absReal0 (Integer (Neg (Succ vuz32000))) True",fontsize=16,color="black",shape="box"];762 -> 785[label="",style="solid", color="black", weight=3]; 149.44/106.77 747[label="Pos (Succ vuz2900)",fontsize=16,color="green",shape="box"];732 -> 1032[label="",style="dashed", color="red", weight=0]; 149.44/106.77 732[label="primModNatS0 (Succ vuz51000) (Succ vuz50000) (primGEqNatS vuz51000 vuz50000)",fontsize=16,color="magenta"];732 -> 1033[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 732 -> 1034[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 732 -> 1035[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 732 -> 1036[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 733[label="primModNatS0 (Succ vuz51000) Zero True",fontsize=16,color="black",shape="box"];733 -> 750[label="",style="solid", color="black", weight=3]; 149.44/106.77 734[label="primModNatS0 Zero (Succ vuz50000) False",fontsize=16,color="black",shape="box"];734 -> 751[label="",style="solid", color="black", weight=3]; 149.44/106.77 735[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];735 -> 752[label="",style="solid", color="black", weight=3]; 149.44/106.77 785[label="`negate` Integer (Neg (Succ vuz32000))",fontsize=16,color="black",shape="box"];785 -> 815[label="",style="solid", color="black", weight=3]; 149.44/106.77 1033[label="vuz50000",fontsize=16,color="green",shape="box"];1034[label="vuz50000",fontsize=16,color="green",shape="box"];1035[label="vuz51000",fontsize=16,color="green",shape="box"];1036[label="vuz51000",fontsize=16,color="green",shape="box"];1032[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS vuz100 vuz101)",fontsize=16,color="burlywood",shape="triangle"];1256[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];1032 -> 1256[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1256 -> 1065[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1257[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];1032 -> 1257[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1257 -> 1066[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 750 -> 640[label="",style="dashed", color="red", weight=0]; 149.44/106.77 750[label="primModNatS (primMinusNatS (Succ vuz51000) Zero) (Succ Zero)",fontsize=16,color="magenta"];750 -> 767[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 750 -> 768[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 751[label="Succ Zero",fontsize=16,color="green",shape="box"];752 -> 640[label="",style="dashed", color="red", weight=0]; 149.44/106.77 752[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];752 -> 769[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 752 -> 770[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 815[label="Integer (primNegInt (Neg (Succ vuz32000)))",fontsize=16,color="green",shape="box"];815 -> 826[label="",style="dashed", color="green", weight=3]; 149.44/106.77 1065[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS (Succ vuz1000) vuz101)",fontsize=16,color="burlywood",shape="box"];1258[label="vuz101/Succ vuz1010",fontsize=10,color="white",style="solid",shape="box"];1065 -> 1258[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1258 -> 1067[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1259[label="vuz101/Zero",fontsize=10,color="white",style="solid",shape="box"];1065 -> 1259[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1259 -> 1068[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1066[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS Zero vuz101)",fontsize=16,color="burlywood",shape="box"];1260[label="vuz101/Succ vuz1010",fontsize=10,color="white",style="solid",shape="box"];1066 -> 1260[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1260 -> 1069[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 1261[label="vuz101/Zero",fontsize=10,color="white",style="solid",shape="box"];1066 -> 1261[label="",style="solid", color="burlywood", weight=9]; 149.44/106.77 1261 -> 1070[label="",style="solid", color="burlywood", weight=3]; 149.44/106.77 767[label="Zero",fontsize=16,color="green",shape="box"];768 -> 541[label="",style="dashed", color="red", weight=0]; 149.44/106.77 768[label="primMinusNatS (Succ vuz51000) Zero",fontsize=16,color="magenta"];768 -> 824[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 769[label="Zero",fontsize=16,color="green",shape="box"];770 -> 543[label="",style="dashed", color="red", weight=0]; 149.44/106.77 770[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];826 -> 731[label="",style="dashed", color="red", weight=0]; 149.44/106.77 826[label="primNegInt (Neg (Succ vuz32000))",fontsize=16,color="magenta"];826 -> 838[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 1067[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS (Succ vuz1000) (Succ vuz1010))",fontsize=16,color="black",shape="box"];1067 -> 1071[label="",style="solid", color="black", weight=3]; 149.44/106.77 1068[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS (Succ vuz1000) Zero)",fontsize=16,color="black",shape="box"];1068 -> 1072[label="",style="solid", color="black", weight=3]; 149.44/106.77 1069[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS Zero (Succ vuz1010))",fontsize=16,color="black",shape="box"];1069 -> 1073[label="",style="solid", color="black", weight=3]; 149.44/106.77 1070[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1070 -> 1074[label="",style="solid", color="black", weight=3]; 149.44/106.77 824[label="vuz51000",fontsize=16,color="green",shape="box"];838[label="vuz32000",fontsize=16,color="green",shape="box"];1071 -> 1032[label="",style="dashed", color="red", weight=0]; 149.44/106.77 1071[label="primModNatS0 (Succ vuz98) (Succ vuz99) (primGEqNatS vuz1000 vuz1010)",fontsize=16,color="magenta"];1071 -> 1075[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 1071 -> 1076[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 1072[label="primModNatS0 (Succ vuz98) (Succ vuz99) True",fontsize=16,color="black",shape="triangle"];1072 -> 1077[label="",style="solid", color="black", weight=3]; 149.44/106.77 1073[label="primModNatS0 (Succ vuz98) (Succ vuz99) False",fontsize=16,color="black",shape="box"];1073 -> 1078[label="",style="solid", color="black", weight=3]; 149.44/106.77 1074 -> 1072[label="",style="dashed", color="red", weight=0]; 149.44/106.77 1074[label="primModNatS0 (Succ vuz98) (Succ vuz99) True",fontsize=16,color="magenta"];1075[label="vuz1010",fontsize=16,color="green",shape="box"];1076[label="vuz1000",fontsize=16,color="green",shape="box"];1077 -> 640[label="",style="dashed", color="red", weight=0]; 149.44/106.77 1077[label="primModNatS (primMinusNatS (Succ vuz98) (Succ vuz99)) (Succ (Succ vuz99))",fontsize=16,color="magenta"];1077 -> 1079[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 1077 -> 1080[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 1078[label="Succ (Succ vuz98)",fontsize=16,color="green",shape="box"];1079[label="Succ vuz99",fontsize=16,color="green",shape="box"];1080 -> 929[label="",style="dashed", color="red", weight=0]; 149.44/106.77 1080[label="primMinusNatS (Succ vuz98) (Succ vuz99)",fontsize=16,color="magenta"];1080 -> 1081[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 1080 -> 1082[label="",style="dashed", color="magenta", weight=3]; 149.44/106.77 1081[label="Succ vuz98",fontsize=16,color="green",shape="box"];1082[label="Succ vuz99",fontsize=16,color="green",shape="box"];} 149.44/106.77 149.44/106.77 ---------------------------------------- 149.44/106.77 149.44/106.77 (735) 149.44/106.77 TRUE 149.44/106.81 EOF