158.33/119.33 MAYBE 158.33/119.34 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 158.33/119.34 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 158.33/119.34 158.33/119.34 158.33/119.34 H-Termination with start terms of the given HASKELL could not be shown: 158.33/119.34 158.33/119.34 (0) HASKELL 158.33/119.34 (1) IFR [EQUIVALENT, 0 ms] 158.33/119.34 (2) HASKELL 158.33/119.34 (3) BR [EQUIVALENT, 0 ms] 158.33/119.34 (4) HASKELL 158.33/119.34 (5) COR [EQUIVALENT, 6 ms] 158.33/119.34 (6) HASKELL 158.33/119.34 (7) LetRed [EQUIVALENT, 0 ms] 158.33/119.34 (8) HASKELL 158.33/119.34 (9) NumRed [SOUND, 14 ms] 158.33/119.34 (10) HASKELL 158.33/119.34 (11) Narrow [SOUND, 0 ms] 158.33/119.34 (12) AND 158.33/119.34 (13) QDP 158.33/119.34 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (15) AND 158.33/119.34 (16) QDP 158.33/119.34 (17) MRRProof [EQUIVALENT, 63 ms] 158.33/119.34 (18) QDP 158.33/119.34 (19) PisEmptyProof [EQUIVALENT, 0 ms] 158.33/119.34 (20) YES 158.33/119.34 (21) QDP 158.33/119.34 (22) QDPOrderProof [EQUIVALENT, 46 ms] 158.33/119.34 (23) QDP 158.33/119.34 (24) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (25) QDP 158.33/119.34 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 158.33/119.34 (27) YES 158.33/119.34 (28) QDP 158.33/119.34 (29) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (30) QDP 158.33/119.34 (31) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (32) QDP 158.33/119.34 (33) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (34) QDP 158.33/119.34 (35) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (36) QDP 158.33/119.34 (37) MNOCProof [EQUIVALENT, 0 ms] 158.33/119.34 (38) QDP 158.33/119.34 (39) InductionCalculusProof [EQUIVALENT, 0 ms] 158.33/119.34 (40) QDP 158.33/119.34 (41) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (42) QDP 158.33/119.34 (43) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (44) QDP 158.33/119.34 (45) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (46) QDP 158.33/119.34 (47) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (48) QDP 158.33/119.34 (49) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (50) QDP 158.33/119.34 (51) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (52) QDP 158.33/119.34 (53) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (54) QDP 158.33/119.34 (55) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (56) QDP 158.33/119.34 (57) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (58) QDP 158.33/119.34 (59) TransformationProof [EQUIVALENT, 3 ms] 158.33/119.34 (60) QDP 158.33/119.34 (61) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (62) AND 158.33/119.34 (63) QDP 158.33/119.34 (64) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (65) QDP 158.33/119.34 (66) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (67) QDP 158.33/119.34 (68) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (69) QDP 158.33/119.34 (70) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (71) QDP 158.33/119.34 (72) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (73) QDP 158.33/119.34 (74) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (75) QDP 158.33/119.34 (76) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (77) QDP 158.33/119.34 (78) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (79) QDP 158.33/119.34 (80) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (81) AND 158.33/119.34 (82) QDP 158.33/119.34 (83) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (84) QDP 158.33/119.34 (85) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (86) QDP 158.33/119.34 (87) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (88) QDP 158.33/119.34 (89) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (90) QDP 158.33/119.34 (91) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (92) QDP 158.33/119.34 (93) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (94) QDP 158.33/119.34 (95) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (96) QDP 158.33/119.34 (97) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (98) QDP 158.33/119.34 (99) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (100) QDP 158.33/119.34 (101) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (102) QDP 158.33/119.34 (103) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (104) QDP 158.33/119.34 (105) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (106) QDP 158.33/119.34 (107) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (108) QDP 158.33/119.34 (109) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (110) QDP 158.33/119.34 (111) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (112) QDP 158.33/119.34 (113) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (114) QDP 158.33/119.34 (115) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (116) QDP 158.33/119.34 (117) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (118) QDP 158.33/119.34 (119) QDPSizeChangeProof [EQUIVALENT, 0 ms] 158.33/119.34 (120) YES 158.33/119.34 (121) QDP 158.33/119.34 (122) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (123) QDP 158.33/119.34 (124) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (125) QDP 158.33/119.34 (126) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (127) QDP 158.33/119.34 (128) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (129) QDP 158.33/119.34 (130) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (131) QDP 158.33/119.34 (132) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (133) QDP 158.33/119.34 (134) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (135) QDP 158.33/119.34 (136) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (137) QDP 158.33/119.34 (138) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (139) QDP 158.33/119.34 (140) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (141) QDP 158.33/119.34 (142) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (143) QDP 158.33/119.34 (144) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (145) QDP 158.33/119.34 (146) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (147) QDP 158.33/119.34 (148) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (149) QDP 158.33/119.34 (150) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (151) QDP 158.33/119.34 (152) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (153) QDP 158.33/119.34 (154) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (155) QDP 158.33/119.34 (156) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (157) QDP 158.33/119.34 (158) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (159) QDP 158.33/119.34 (160) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (161) QDP 158.33/119.34 (162) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (163) QDP 158.33/119.34 (164) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (165) QDP 158.33/119.34 (166) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (167) QDP 158.33/119.34 (168) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (169) QDP 158.33/119.34 (170) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (171) AND 158.33/119.34 (172) QDP 158.33/119.34 (173) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (174) QDP 158.33/119.34 (175) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (176) QDP 158.33/119.34 (177) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (178) QDP 158.33/119.34 (179) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (180) QDP 158.33/119.34 (181) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (182) QDP 158.33/119.34 (183) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (184) QDP 158.33/119.34 (185) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (186) QDP 158.33/119.34 (187) QDPOrderProof [EQUIVALENT, 889 ms] 158.33/119.34 (188) QDP 158.33/119.34 (189) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (190) TRUE 158.33/119.34 (191) QDP 158.33/119.34 (192) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (193) QDP 158.33/119.34 (194) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (195) AND 158.33/119.34 (196) QDP 158.33/119.34 (197) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (198) QDP 158.33/119.34 (199) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (200) QDP 158.33/119.34 (201) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (202) QDP 158.33/119.34 (203) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (204) QDP 158.33/119.34 (205) QDPOrderProof [EQUIVALENT, 1199 ms] 158.33/119.34 (206) QDP 158.33/119.34 (207) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (208) TRUE 158.33/119.34 (209) QDP 158.33/119.34 (210) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (211) QDP 158.33/119.34 (212) InductionCalculusProof [EQUIVALENT, 0 ms] 158.33/119.34 (213) QDP 158.33/119.34 (214) QDP 158.33/119.34 (215) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (216) QDP 158.33/119.34 (217) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (218) QDP 158.33/119.34 (219) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (220) QDP 158.33/119.34 (221) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (222) QDP 158.33/119.34 (223) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (224) QDP 158.33/119.34 (225) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (226) QDP 158.33/119.34 (227) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (228) QDP 158.33/119.34 (229) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (230) QDP 158.33/119.34 (231) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (232) AND 158.33/119.34 (233) QDP 158.33/119.34 (234) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (235) QDP 158.33/119.34 (236) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (237) QDP 158.33/119.34 (238) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (239) QDP 158.33/119.34 (240) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (241) QDP 158.33/119.34 (242) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (243) QDP 158.33/119.34 (244) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (245) QDP 158.33/119.34 (246) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (247) QDP 158.33/119.34 (248) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (249) QDP 158.33/119.34 (250) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (251) QDP 158.33/119.34 (252) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (253) QDP 158.33/119.34 (254) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (255) QDP 158.33/119.34 (256) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (257) QDP 158.33/119.34 (258) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (259) QDP 158.33/119.34 (260) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (261) QDP 158.33/119.34 (262) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (263) QDP 158.33/119.34 (264) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (265) QDP 158.33/119.34 (266) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (267) QDP 158.33/119.34 (268) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (269) QDP 158.33/119.34 (270) QDPSizeChangeProof [EQUIVALENT, 0 ms] 158.33/119.34 (271) YES 158.33/119.34 (272) QDP 158.33/119.34 (273) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (274) QDP 158.33/119.34 (275) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (276) QDP 158.33/119.34 (277) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (278) QDP 158.33/119.34 (279) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (280) QDP 158.33/119.34 (281) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (282) QDP 158.33/119.34 (283) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (284) QDP 158.33/119.34 (285) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (286) QDP 158.33/119.34 (287) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (288) QDP 158.33/119.34 (289) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (290) QDP 158.33/119.34 (291) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (292) QDP 158.33/119.34 (293) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (294) QDP 158.33/119.34 (295) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (296) QDP 158.33/119.34 (297) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (298) QDP 158.33/119.34 (299) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (300) QDP 158.33/119.34 (301) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (302) QDP 158.33/119.34 (303) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (304) QDP 158.33/119.34 (305) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (306) QDP 158.33/119.34 (307) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (308) QDP 158.33/119.34 (309) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (310) QDP 158.33/119.34 (311) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (312) QDP 158.33/119.34 (313) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (314) QDP 158.33/119.34 (315) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (316) QDP 158.33/119.34 (317) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (318) QDP 158.33/119.34 (319) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (320) QDP 158.33/119.34 (321) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (322) AND 158.33/119.34 (323) QDP 158.33/119.34 (324) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (325) QDP 158.33/119.34 (326) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (327) QDP 158.33/119.34 (328) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (329) QDP 158.33/119.34 (330) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (331) QDP 158.33/119.34 (332) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (333) QDP 158.33/119.34 (334) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (335) QDP 158.33/119.34 (336) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (337) QDP 158.33/119.34 (338) QDPOrderProof [EQUIVALENT, 793 ms] 158.33/119.34 (339) QDP 158.33/119.34 (340) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (341) TRUE 158.33/119.34 (342) QDP 158.33/119.34 (343) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (344) QDP 158.33/119.34 (345) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (346) AND 158.33/119.34 (347) QDP 158.33/119.34 (348) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (349) QDP 158.33/119.34 (350) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (351) QDP 158.33/119.34 (352) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (353) QDP 158.33/119.34 (354) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (355) QDP 158.33/119.34 (356) QDPOrderProof [EQUIVALENT, 1189 ms] 158.33/119.34 (357) QDP 158.33/119.34 (358) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (359) TRUE 158.33/119.34 (360) QDP 158.33/119.34 (361) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (362) QDP 158.33/119.34 (363) InductionCalculusProof [EQUIVALENT, 0 ms] 158.33/119.34 (364) QDP 158.33/119.34 (365) QDP 158.33/119.34 (366) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (367) QDP 158.33/119.34 (368) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (369) QDP 158.33/119.34 (370) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (371) QDP 158.33/119.34 (372) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (373) QDP 158.33/119.34 (374) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (375) QDP 158.33/119.34 (376) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (377) QDP 158.33/119.34 (378) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (379) QDP 158.33/119.34 (380) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (381) QDP 158.33/119.34 (382) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (383) QDP 158.33/119.34 (384) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (385) QDP 158.33/119.34 (386) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (387) QDP 158.33/119.34 (388) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (389) QDP 158.33/119.34 (390) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (391) QDP 158.33/119.34 (392) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (393) QDP 158.33/119.34 (394) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (395) QDP 158.33/119.34 (396) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (397) QDP 158.33/119.34 (398) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (399) QDP 158.33/119.34 (400) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (401) QDP 158.33/119.34 (402) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (403) QDP 158.33/119.34 (404) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (405) QDP 158.33/119.34 (406) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (407) QDP 158.33/119.34 (408) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (409) QDP 158.33/119.34 (410) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (411) QDP 158.33/119.34 (412) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (413) QDP 158.33/119.34 (414) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (415) QDP 158.33/119.34 (416) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (417) QDP 158.33/119.34 (418) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (419) QDP 158.33/119.34 (420) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (421) AND 158.33/119.34 (422) QDP 158.33/119.34 (423) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (424) QDP 158.33/119.34 (425) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (426) QDP 158.33/119.34 (427) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (428) QDP 158.33/119.34 (429) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (430) QDP 158.33/119.34 (431) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (432) QDP 158.33/119.34 (433) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (434) QDP 158.33/119.34 (435) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (436) QDP 158.33/119.34 (437) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (438) QDP 158.33/119.34 (439) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (440) QDP 158.33/119.34 (441) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (442) QDP 158.33/119.34 (443) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (444) QDP 158.33/119.34 (445) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (446) QDP 158.33/119.34 (447) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (448) QDP 158.33/119.34 (449) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (450) QDP 158.33/119.34 (451) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.34 (452) QDP 158.33/119.34 (453) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (454) QDP 158.33/119.34 (455) QDPSizeChangeProof [EQUIVALENT, 0 ms] 158.33/119.34 (456) YES 158.33/119.34 (457) QDP 158.33/119.34 (458) UsableRulesProof [EQUIVALENT, 0 ms] 158.33/119.34 (459) QDP 158.33/119.34 (460) QReductionProof [EQUIVALENT, 0 ms] 158.33/119.34 (461) QDP 158.33/119.34 (462) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (463) QDP 158.33/119.34 (464) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (465) QDP 158.33/119.34 (466) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.34 (467) QDP 158.33/119.34 (468) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.35 (469) QDP 158.33/119.35 (470) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.35 (471) QDP 158.33/119.35 (472) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.35 (473) QDP 158.33/119.35 (474) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.35 (475) QDP 158.33/119.35 (476) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.35 (477) QDP 158.33/119.35 (478) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.35 (479) QDP 158.33/119.35 (480) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.35 (481) QDP 158.33/119.35 (482) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.35 (483) QDP 158.33/119.35 (484) TransformationProof [EQUIVALENT, 0 ms] 158.33/119.35 (485) QDP 158.33/119.35 (486) DependencyGraphProof [EQUIVALENT, 0 ms] 158.33/119.35 (487) QDP 158.57/119.35 (488) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (489) QDP 158.57/119.35 (490) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (491) QDP 158.57/119.35 (492) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (493) QDP 158.57/119.35 (494) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (495) QDP 158.57/119.35 (496) QDPSizeChangeProof [EQUIVALENT, 0 ms] 158.57/119.35 (497) YES 158.57/119.35 (498) QDP 158.57/119.35 (499) UsableRulesProof [EQUIVALENT, 0 ms] 158.57/119.35 (500) QDP 158.57/119.35 (501) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (502) QDP 158.57/119.35 (503) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (504) QDP 158.57/119.35 (505) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (506) QDP 158.57/119.35 (507) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (508) QDP 158.57/119.35 (509) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (510) QDP 158.57/119.35 (511) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (512) QDP 158.57/119.35 (513) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (514) QDP 158.57/119.35 (515) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (516) QDP 158.57/119.35 (517) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (518) QDP 158.57/119.35 (519) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (520) QDP 158.57/119.35 (521) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (522) QDP 158.57/119.35 (523) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (524) QDP 158.57/119.35 (525) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (526) QDP 158.57/119.35 (527) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (528) QDP 158.57/119.35 (529) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (530) QDP 158.57/119.35 (531) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (532) QDP 158.57/119.35 (533) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (534) QDP 158.57/119.35 (535) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (536) QDP 158.57/119.35 (537) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (538) QDP 158.57/119.35 (539) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (540) QDP 158.57/119.35 (541) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (542) QDP 158.57/119.35 (543) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (544) QDP 158.57/119.35 (545) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (546) QDP 158.57/119.35 (547) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (548) QDP 158.57/119.35 (549) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (550) QDP 158.57/119.35 (551) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (552) QDP 158.57/119.35 (553) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (554) QDP 158.57/119.35 (555) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (556) QDP 158.57/119.35 (557) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (558) QDP 158.57/119.35 (559) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (560) AND 158.57/119.35 (561) QDP 158.57/119.35 (562) UsableRulesProof [EQUIVALENT, 0 ms] 158.57/119.35 (563) QDP 158.57/119.35 (564) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (565) QDP 158.57/119.35 (566) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (567) QDP 158.57/119.35 (568) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (569) QDP 158.57/119.35 (570) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (571) QDP 158.57/119.35 (572) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (573) QDP 158.57/119.35 (574) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (575) QDP 158.57/119.35 (576) DependencyGraphProof [EQUIVALENT, 0 ms] 158.57/119.35 (577) QDP 158.57/119.35 (578) InductionCalculusProof [EQUIVALENT, 0 ms] 158.57/119.35 (579) QDP 158.57/119.35 (580) QDP 158.57/119.35 (581) UsableRulesProof [EQUIVALENT, 0 ms] 158.57/119.35 (582) QDP 158.57/119.35 (583) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (584) QDP 158.57/119.35 (585) UsableRulesProof [EQUIVALENT, 0 ms] 158.57/119.35 (586) QDP 158.57/119.35 (587) InductionCalculusProof [EQUIVALENT, 0 ms] 158.57/119.35 (588) QDP 158.57/119.35 (589) QDP 158.57/119.35 (590) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (591) QDP 158.57/119.35 (592) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (593) QDP 158.57/119.35 (594) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (595) QDP 158.57/119.35 (596) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (597) QDP 158.57/119.35 (598) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (599) QDP 158.57/119.35 (600) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (601) QDP 158.57/119.35 (602) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (603) QDP 158.57/119.35 (604) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (605) QDP 158.57/119.35 (606) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (607) QDP 158.57/119.35 (608) TransformationProof [EQUIVALENT, 0 ms] 158.57/119.35 (609) QDP 158.57/119.35 (610) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (611) QDP 160.74/119.98 (612) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (613) QDP 160.74/119.98 (614) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (615) QDP 160.74/119.98 (616) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (617) QDP 160.74/119.98 (618) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (619) QDP 160.74/119.98 (620) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (621) QDP 160.74/119.98 (622) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (623) QDP 160.74/119.98 (624) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (625) QDP 160.74/119.98 (626) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (627) QDP 160.74/119.98 (628) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (629) QDP 160.74/119.98 (630) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (631) AND 160.74/119.98 (632) QDP 160.74/119.98 (633) UsableRulesProof [EQUIVALENT, 0 ms] 160.74/119.98 (634) QDP 160.74/119.98 (635) InductionCalculusProof [EQUIVALENT, 0 ms] 160.74/119.98 (636) QDP 160.74/119.98 (637) QDP 160.74/119.98 (638) UsableRulesProof [EQUIVALENT, 0 ms] 160.74/119.98 (639) QDP 160.74/119.98 (640) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (641) QDP 160.74/119.98 (642) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (643) QDP 160.74/119.98 (644) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (645) QDP 160.74/119.98 (646) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (647) QDP 160.74/119.98 (648) InductionCalculusProof [EQUIVALENT, 0 ms] 160.74/119.98 (649) QDP 160.74/119.98 (650) QDP 160.74/119.98 (651) InductionCalculusProof [EQUIVALENT, 0 ms] 160.74/119.98 (652) QDP 160.74/119.98 (653) QDP 160.74/119.98 (654) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (655) AND 160.74/119.98 (656) QDP 160.74/119.98 (657) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (658) QDP 160.74/119.98 (659) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (660) QDP 160.74/119.98 (661) QDPSizeChangeProof [EQUIVALENT, 0 ms] 160.74/119.98 (662) YES 160.74/119.98 (663) QDP 160.74/119.98 (664) QDPSizeChangeProof [EQUIVALENT, 0 ms] 160.74/119.98 (665) YES 160.74/119.98 (666) QDP 160.74/119.98 (667) MNOCProof [EQUIVALENT, 0 ms] 160.74/119.98 (668) QDP 160.74/119.98 (669) InductionCalculusProof [EQUIVALENT, 0 ms] 160.74/119.98 (670) QDP 160.74/119.98 (671) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (672) QDP 160.74/119.98 (673) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (674) QDP 160.74/119.98 (675) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (676) QDP 160.74/119.98 (677) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (678) QDP 160.74/119.98 (679) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (680) QDP 160.74/119.98 (681) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (682) QDP 160.74/119.98 (683) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (684) QDP 160.74/119.98 (685) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (686) QDP 160.74/119.98 (687) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (688) QDP 160.74/119.98 (689) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (690) QDP 160.74/119.98 (691) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (692) QDP 160.74/119.98 (693) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (694) QDP 160.74/119.98 (695) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (696) QDP 160.74/119.98 (697) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (698) QDP 160.74/119.98 (699) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (700) QDP 160.74/119.98 (701) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (702) QDP 160.74/119.98 (703) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (704) QDP 160.74/119.98 (705) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (706) QDP 160.74/119.98 (707) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (708) QDP 160.74/119.98 (709) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (710) QDP 160.74/119.98 (711) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (712) QDP 160.74/119.98 (713) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (714) QDP 160.74/119.98 (715) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (716) QDP 160.74/119.98 (717) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (718) QDP 160.74/119.98 (719) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (720) QDP 160.74/119.98 (721) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (722) QDP 160.74/119.98 (723) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (724) QDP 160.74/119.98 (725) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (726) QDP 160.74/119.98 (727) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (728) QDP 160.74/119.98 (729) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (730) QDP 160.74/119.98 (731) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (732) QDP 160.74/119.98 (733) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (734) QDP 160.74/119.98 (735) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (736) QDP 160.74/119.98 (737) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (738) QDP 160.74/119.98 (739) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (740) QDP 160.74/119.98 (741) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (742) QDP 160.74/119.98 (743) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (744) QDP 160.74/119.98 (745) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (746) QDP 160.74/119.98 (747) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (748) QDP 160.74/119.98 (749) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (750) QDP 160.74/119.98 (751) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (752) QDP 160.74/119.98 (753) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (754) QDP 160.74/119.98 (755) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (756) QDP 160.74/119.98 (757) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (758) QDP 160.74/119.98 (759) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (760) QDP 160.74/119.98 (761) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (762) QDP 160.74/119.98 (763) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (764) QDP 160.74/119.98 (765) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (766) QDP 160.74/119.98 (767) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (768) QDP 160.74/119.98 (769) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (770) QDP 160.74/119.98 (771) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (772) QDP 160.74/119.98 (773) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (774) QDP 160.74/119.98 (775) DependencyGraphProof [EQUIVALENT, 0 ms] 160.74/119.98 (776) QDP 160.74/119.98 (777) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (778) QDP 160.74/119.98 (779) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (780) QDP 160.74/119.98 (781) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (782) QDP 160.74/119.98 (783) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (784) QDP 160.74/119.98 (785) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (786) QDP 160.74/119.98 (787) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (788) QDP 160.74/119.98 (789) TransformationProof [EQUIVALENT, 0 ms] 160.74/119.98 (790) QDP 160.74/119.98 (791) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (792) QDP 160.89/120.05 (793) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (794) QDP 160.89/120.05 (795) DependencyGraphProof [EQUIVALENT, 0 ms] 160.89/120.05 (796) QDP 160.89/120.05 (797) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (798) QDP 160.89/120.05 (799) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (800) QDP 160.89/120.05 (801) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (802) QDP 160.89/120.05 (803) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (804) QDP 160.89/120.05 (805) DependencyGraphProof [EQUIVALENT, 0 ms] 160.89/120.05 (806) QDP 160.89/120.05 (807) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (808) QDP 160.89/120.05 (809) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (810) QDP 160.89/120.05 (811) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (812) QDP 160.89/120.05 (813) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (814) QDP 160.89/120.05 (815) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (816) QDP 160.89/120.05 (817) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (818) QDP 160.89/120.05 (819) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (820) QDP 160.89/120.05 (821) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (822) QDP 160.89/120.05 (823) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (824) QDP 160.89/120.05 (825) DependencyGraphProof [EQUIVALENT, 0 ms] 160.89/120.05 (826) QDP 160.89/120.05 (827) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (828) QDP 160.89/120.05 (829) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (830) QDP 160.89/120.05 (831) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (832) QDP 160.89/120.05 (833) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (834) QDP 160.89/120.05 (835) DependencyGraphProof [EQUIVALENT, 0 ms] 160.89/120.05 (836) QDP 160.89/120.05 (837) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (838) QDP 160.89/120.05 (839) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (840) QDP 160.89/120.05 (841) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (842) QDP 160.89/120.05 (843) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (844) QDP 160.89/120.05 (845) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (846) QDP 160.89/120.05 (847) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (848) QDP 160.89/120.05 (849) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (850) QDP 160.89/120.05 (851) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (852) QDP 160.89/120.05 (853) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (854) QDP 160.89/120.05 (855) DependencyGraphProof [EQUIVALENT, 0 ms] 160.89/120.05 (856) QDP 160.89/120.05 (857) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (858) QDP 160.89/120.05 (859) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (860) QDP 160.89/120.05 (861) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (862) QDP 160.89/120.05 (863) TransformationProof [EQUIVALENT, 0 ms] 160.89/120.05 (864) QDP 160.89/120.05 (865) DependencyGraphProof [EQUIVALENT, 0 ms] 160.89/120.05 (866) QDP 160.89/120.05 (867) QDPOrderProof [EQUIVALENT, 29 ms] 160.89/120.05 (868) QDP 160.89/120.05 (869) QDPOrderProof [EQUIVALENT, 78 ms] 160.89/120.05 (870) QDP 160.89/120.05 (871) MNOCProof [EQUIVALENT, 0 ms] 160.89/120.05 (872) QDP 160.89/120.05 (873) InductionCalculusProof [EQUIVALENT, 0 ms] 160.89/120.05 (874) QDP 160.89/120.05 (875) QDP 160.89/120.05 (876) QDPSizeChangeProof [EQUIVALENT, 0 ms] 160.89/120.05 (877) YES 160.89/120.05 (878) QDP 160.89/120.05 (879) QDPSizeChangeProof [EQUIVALENT, 0 ms] 160.89/120.05 (880) YES 160.89/120.05 (881) QDP 160.89/120.05 (882) QDPSizeChangeProof [EQUIVALENT, 0 ms] 160.89/120.05 (883) YES 160.89/120.05 (884) QDP 160.89/120.05 (885) QDPSizeChangeProof [EQUIVALENT, 0 ms] 160.89/120.05 (886) YES 160.89/120.05 (887) Narrow [COMPLETE, 0 ms] 160.89/120.05 (888) AND 160.89/120.05 (889) QDP 160.89/120.05 (890) QDPSizeChangeProof [EQUIVALENT, 0 ms] 160.89/120.05 (891) YES 160.89/120.05 (892) QDP 160.89/120.05 (893) PisEmptyProof [EQUIVALENT, 0 ms] 160.89/120.05 (894) YES 160.89/120.05 (895) QDP 160.89/120.05 (896) QDPSizeChangeProof [EQUIVALENT, 0 ms] 160.89/120.05 (897) YES 160.89/120.05 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (0) 160.89/120.05 Obligation: 160.89/120.05 mainModule Main 160.89/120.05 module Main where { 160.89/120.05 import qualified Prelude; 160.89/120.05 } 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (1) IFR (EQUIVALENT) 160.89/120.05 If Reductions: 160.89/120.05 The following If expression 160.89/120.05 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 160.89/120.05 is transformed to 160.89/120.05 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 160.89/120.05 primDivNatS0 x y False = Zero; 160.89/120.05 " 160.89/120.05 The following If expression 160.89/120.05 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 160.89/120.05 is transformed to 160.89/120.05 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 160.89/120.05 primModNatS0 x y False = Succ x; 160.89/120.05 " 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (2) 160.89/120.05 Obligation: 160.89/120.05 mainModule Main 160.89/120.05 module Main where { 160.89/120.05 import qualified Prelude; 160.89/120.05 } 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (3) BR (EQUIVALENT) 160.89/120.05 Replaced joker patterns by fresh variables and removed binding patterns. 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (4) 160.89/120.05 Obligation: 160.89/120.05 mainModule Main 160.89/120.05 module Main where { 160.89/120.05 import qualified Prelude; 160.89/120.05 } 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (5) COR (EQUIVALENT) 160.89/120.05 Cond Reductions: 160.89/120.05 The following Function with conditions 160.89/120.05 "gcd' x 0 = x; 160.89/120.05 gcd' x y = gcd' y (x `rem` y); 160.89/120.05 " 160.89/120.05 is transformed to 160.89/120.05 "gcd' x xz = gcd'2 x xz; 160.89/120.05 gcd' x y = gcd'0 x y; 160.89/120.05 " 160.89/120.05 "gcd'0 x y = gcd' y (x `rem` y); 160.89/120.05 " 160.89/120.05 "gcd'1 True x xz = x; 160.89/120.05 gcd'1 yu yv yw = gcd'0 yv yw; 160.89/120.05 " 160.89/120.05 "gcd'2 x xz = gcd'1 (xz == 0) x xz; 160.89/120.05 gcd'2 yx yy = gcd'0 yx yy; 160.89/120.05 " 160.89/120.05 The following Function with conditions 160.89/120.05 "gcd 0 0 = error []; 160.89/120.05 gcd x y = gcd' (abs x) (abs y) where { 160.89/120.05 gcd' x 0 = x; 160.89/120.05 gcd' x y = gcd' y (x `rem` y); 160.89/120.05 } 160.89/120.05 ; 160.89/120.05 " 160.89/120.05 is transformed to 160.89/120.05 "gcd yz zu = gcd3 yz zu; 160.89/120.05 gcd x y = gcd0 x y; 160.89/120.05 " 160.89/120.05 "gcd0 x y = gcd' (abs x) (abs y) where { 160.89/120.05 gcd' x xz = gcd'2 x xz; 160.89/120.05 gcd' x y = gcd'0 x y; 160.89/120.05 ; 160.89/120.05 gcd'0 x y = gcd' y (x `rem` y); 160.89/120.05 ; 160.89/120.05 gcd'1 True x xz = x; 160.89/120.05 gcd'1 yu yv yw = gcd'0 yv yw; 160.89/120.05 ; 160.89/120.05 gcd'2 x xz = gcd'1 (xz == 0) x xz; 160.89/120.05 gcd'2 yx yy = gcd'0 yx yy; 160.89/120.05 } 160.89/120.05 ; 160.89/120.05 " 160.89/120.05 "gcd1 True yz zu = error []; 160.89/120.05 gcd1 zv zw zx = gcd0 zw zx; 160.89/120.05 " 160.89/120.05 "gcd2 True yz zu = gcd1 (zu == 0) yz zu; 160.89/120.05 gcd2 zy zz vuu = gcd0 zz vuu; 160.89/120.05 " 160.89/120.05 "gcd3 yz zu = gcd2 (yz == 0) yz zu; 160.89/120.05 gcd3 vuv vuw = gcd0 vuv vuw; 160.89/120.05 " 160.89/120.05 The following Function with conditions 160.89/120.05 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 160.89/120.05 d = gcd x y; 160.89/120.05 } 160.89/120.05 ; 160.89/120.05 " 160.89/120.05 is transformed to 160.89/120.05 "reduce x y = reduce2 x y; 160.89/120.05 " 160.89/120.05 "reduce2 x y = reduce1 x y (y == 0) where { 160.89/120.05 d = gcd x y; 160.89/120.05 ; 160.89/120.05 reduce0 x y True = x `quot` d :% (y `quot` d); 160.89/120.05 ; 160.89/120.05 reduce1 x y True = error []; 160.89/120.05 reduce1 x y False = reduce0 x y otherwise; 160.89/120.05 } 160.89/120.05 ; 160.89/120.05 " 160.89/120.05 The following Function with conditions 160.89/120.05 "absReal x|x >= 0x|otherwise`negate` x; 160.89/120.05 " 160.89/120.05 is transformed to 160.89/120.05 "absReal x = absReal2 x; 160.89/120.05 " 160.89/120.05 "absReal0 x True = `negate` x; 160.89/120.05 " 160.89/120.05 "absReal1 x True = x; 160.89/120.05 absReal1 x False = absReal0 x otherwise; 160.89/120.05 " 160.89/120.05 "absReal2 x = absReal1 x (x >= 0); 160.89/120.05 " 160.89/120.05 The following Function with conditions 160.89/120.05 "undefined |Falseundefined; 160.89/120.05 " 160.89/120.05 is transformed to 160.89/120.05 "undefined = undefined1; 160.89/120.05 " 160.89/120.05 "undefined0 True = undefined; 160.89/120.05 " 160.89/120.05 "undefined1 = undefined0 False; 160.89/120.05 " 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (6) 160.89/120.05 Obligation: 160.89/120.05 mainModule Main 160.89/120.05 module Main where { 160.89/120.05 import qualified Prelude; 160.89/120.05 } 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (7) LetRed (EQUIVALENT) 160.89/120.05 Let/Where Reductions: 160.89/120.05 The bindings of the following Let/Where expression 160.89/120.05 "gcd' (abs x) (abs y) where { 160.89/120.05 gcd' x xz = gcd'2 x xz; 160.89/120.05 gcd' x y = gcd'0 x y; 160.89/120.05 ; 160.89/120.05 gcd'0 x y = gcd' y (x `rem` y); 160.89/120.05 ; 160.89/120.05 gcd'1 True x xz = x; 160.89/120.05 gcd'1 yu yv yw = gcd'0 yv yw; 160.89/120.05 ; 160.89/120.05 gcd'2 x xz = gcd'1 (xz == 0) x xz; 160.89/120.05 gcd'2 yx yy = gcd'0 yx yy; 160.89/120.05 } 160.89/120.05 " 160.89/120.05 are unpacked to the following functions on top level 160.89/120.05 "gcd0Gcd' x xz = gcd0Gcd'2 x xz; 160.89/120.05 gcd0Gcd' x y = gcd0Gcd'0 x y; 160.89/120.05 " 160.89/120.05 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 160.89/120.05 " 160.89/120.05 "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; 160.89/120.05 gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; 160.89/120.05 " 160.89/120.05 "gcd0Gcd'1 True x xz = x; 160.89/120.05 gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; 160.89/120.05 " 160.89/120.05 The bindings of the following Let/Where expression 160.89/120.05 "reduce1 x y (y == 0) where { 160.89/120.05 d = gcd x y; 160.89/120.05 ; 160.89/120.05 reduce0 x y True = x `quot` d :% (y `quot` d); 160.89/120.05 ; 160.89/120.05 reduce1 x y True = error []; 160.89/120.05 reduce1 x y False = reduce0 x y otherwise; 160.89/120.05 } 160.89/120.05 " 160.89/120.05 are unpacked to the following functions on top level 160.89/120.05 "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); 160.89/120.05 " 160.89/120.05 "reduce2D vux vuy = gcd vux vuy; 160.89/120.05 " 160.89/120.05 "reduce2Reduce1 vux vuy x y True = error []; 160.89/120.05 reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; 160.89/120.05 " 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (8) 160.89/120.05 Obligation: 160.89/120.05 mainModule Main 160.89/120.05 module Main where { 160.89/120.05 import qualified Prelude; 160.89/120.05 } 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (9) NumRed (SOUND) 160.89/120.05 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (10) 160.89/120.05 Obligation: 160.89/120.05 mainModule Main 160.89/120.05 module Main where { 160.89/120.05 import qualified Prelude; 160.89/120.05 } 160.89/120.05 160.89/120.05 ---------------------------------------- 160.89/120.05 160.89/120.05 (11) Narrow (SOUND) 160.89/120.05 Haskell To QDPs 160.89/120.05 160.89/120.05 digraph dp_graph { 160.89/120.05 node [outthreshold=100, inthreshold=100];1[label="subtract",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 160.89/120.05 3[label="subtract vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 160.89/120.05 4[label="subtract vuz3 vuz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 160.89/120.05 5[label="flip (-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 160.89/120.05 6[label="(-) vuz4 vuz3",fontsize=16,color="blue",shape="box"];1424[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];6 -> 1424[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1424 -> 7[label="",style="solid", color="blue", weight=3]; 160.89/120.05 1425[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];6 -> 1425[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1425 -> 8[label="",style="solid", color="blue", weight=3]; 160.89/120.05 1426[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];6 -> 1426[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1426 -> 9[label="",style="solid", color="blue", weight=3]; 160.89/120.05 1427[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];6 -> 1427[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1427 -> 10[label="",style="solid", color="blue", weight=3]; 160.89/120.05 1428[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];6 -> 1428[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1428 -> 11[label="",style="solid", color="blue", weight=3]; 160.89/120.05 7[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];7 -> 12[label="",style="solid", color="black", weight=3]; 160.89/120.05 8[label="(-) vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1429[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];8 -> 1429[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1429 -> 13[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 9[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 160.89/120.05 10[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="triangle"];10 -> 15[label="",style="solid", color="black", weight=3]; 160.89/120.05 11[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];11 -> 16[label="",style="solid", color="black", weight=3]; 160.89/120.05 12[label="primMinusDouble vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1430[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];12 -> 1430[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1430 -> 17[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 13[label="(-) Integer vuz40 vuz3",fontsize=16,color="burlywood",shape="box"];1431[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];13 -> 1431[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1431 -> 18[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 14[label="primMinusFloat vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1432[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];14 -> 1432[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1432 -> 19[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 15[label="primMinusInt vuz4 vuz3",fontsize=16,color="burlywood",shape="triangle"];1433[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];15 -> 1433[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1433 -> 20[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1434[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];15 -> 1434[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1434 -> 21[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 16[label="vuz4 + (negate vuz3)",fontsize=16,color="burlywood",shape="box"];1435[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];16 -> 1435[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1435 -> 22[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 17[label="primMinusDouble (Double vuz40 vuz41) vuz3",fontsize=16,color="burlywood",shape="box"];1436[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];17 -> 1436[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1436 -> 23[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 18[label="(-) Integer vuz40 Integer vuz30",fontsize=16,color="black",shape="box"];18 -> 24[label="",style="solid", color="black", weight=3]; 160.89/120.05 19[label="primMinusFloat (Float vuz40 vuz41) vuz3",fontsize=16,color="burlywood",shape="box"];1437[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];19 -> 1437[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1437 -> 25[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 20[label="primMinusInt (Pos vuz40) vuz3",fontsize=16,color="burlywood",shape="box"];1438[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];20 -> 1438[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1438 -> 26[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1439[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];20 -> 1439[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1439 -> 27[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 21[label="primMinusInt (Neg vuz40) vuz3",fontsize=16,color="burlywood",shape="box"];1440[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];21 -> 1440[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1440 -> 28[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1441[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];21 -> 1441[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1441 -> 29[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 22[label="vuz40 :% vuz41 + (negate vuz3)",fontsize=16,color="burlywood",shape="box"];1442[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];22 -> 1442[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1442 -> 30[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 23[label="primMinusDouble (Double vuz40 vuz41) (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 160.89/120.05 24[label="Integer (primMinusInt vuz40 vuz30)",fontsize=16,color="green",shape="box"];24 -> 32[label="",style="dashed", color="green", weight=3]; 160.89/120.05 25[label="primMinusFloat (Float vuz40 vuz41) (Float vuz30 vuz31)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 160.89/120.05 26[label="primMinusInt (Pos vuz40) (Pos vuz30)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 160.89/120.05 27[label="primMinusInt (Pos vuz40) (Neg vuz30)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 160.89/120.05 28[label="primMinusInt (Neg vuz40) (Pos vuz30)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 160.89/120.05 29[label="primMinusInt (Neg vuz40) (Neg vuz30)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 160.89/120.05 30[label="vuz40 :% vuz41 + (negate vuz30 :% vuz31)",fontsize=16,color="black",shape="box"];30 -> 38[label="",style="solid", color="black", weight=3]; 160.89/120.05 31[label="Double (vuz40 * vuz31 - vuz30 * vuz41) (vuz41 * vuz31)",fontsize=16,color="green",shape="box"];31 -> 39[label="",style="dashed", color="green", weight=3]; 160.89/120.05 31 -> 40[label="",style="dashed", color="green", weight=3]; 160.89/120.05 32 -> 15[label="",style="dashed", color="red", weight=0]; 160.89/120.05 32[label="primMinusInt vuz40 vuz30",fontsize=16,color="magenta"];32 -> 41[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 32 -> 42[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 33[label="Float (vuz40 * vuz31 - vuz30 * vuz41) (vuz41 * vuz31)",fontsize=16,color="green",shape="box"];33 -> 43[label="",style="dashed", color="green", weight=3]; 160.89/120.05 33 -> 44[label="",style="dashed", color="green", weight=3]; 160.89/120.05 34[label="primMinusNat vuz40 vuz30",fontsize=16,color="burlywood",shape="triangle"];1443[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];34 -> 1443[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1443 -> 45[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1444[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];34 -> 1444[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1444 -> 46[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 35[label="Pos (primPlusNat vuz40 vuz30)",fontsize=16,color="green",shape="box"];35 -> 47[label="",style="dashed", color="green", weight=3]; 160.89/120.05 36[label="Neg (primPlusNat vuz40 vuz30)",fontsize=16,color="green",shape="box"];36 -> 48[label="",style="dashed", color="green", weight=3]; 160.89/120.05 37 -> 34[label="",style="dashed", color="red", weight=0]; 160.89/120.05 37[label="primMinusNat vuz30 vuz40",fontsize=16,color="magenta"];37 -> 49[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 37 -> 50[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 38 -> 51[label="",style="dashed", color="red", weight=0]; 160.89/120.05 38[label="vuz40 :% vuz41 + (negate vuz30) :% vuz31",fontsize=16,color="magenta"];38 -> 52[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 38 -> 53[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 38 -> 54[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 38 -> 55[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 39 -> 10[label="",style="dashed", color="red", weight=0]; 160.89/120.05 39[label="vuz40 * vuz31 - vuz30 * vuz41",fontsize=16,color="magenta"];39 -> 56[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 39 -> 57[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 40[label="vuz41 * vuz31",fontsize=16,color="black",shape="triangle"];40 -> 58[label="",style="solid", color="black", weight=3]; 160.89/120.05 41[label="vuz30",fontsize=16,color="green",shape="box"];42[label="vuz40",fontsize=16,color="green",shape="box"];43 -> 10[label="",style="dashed", color="red", weight=0]; 160.89/120.05 43[label="vuz40 * vuz31 - vuz30 * vuz41",fontsize=16,color="magenta"];43 -> 59[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 43 -> 60[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 44 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 44[label="vuz41 * vuz31",fontsize=16,color="magenta"];44 -> 61[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 44 -> 62[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 45[label="primMinusNat (Succ vuz400) vuz30",fontsize=16,color="burlywood",shape="box"];1445[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];45 -> 1445[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1445 -> 63[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1446[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];45 -> 1446[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1446 -> 64[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 46[label="primMinusNat Zero vuz30",fontsize=16,color="burlywood",shape="box"];1447[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];46 -> 1447[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1447 -> 65[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1448[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];46 -> 1448[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1448 -> 66[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 47[label="primPlusNat vuz40 vuz30",fontsize=16,color="burlywood",shape="triangle"];1449[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];47 -> 1449[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1449 -> 67[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1450[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];47 -> 1450[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1450 -> 68[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 48 -> 47[label="",style="dashed", color="red", weight=0]; 160.89/120.05 48[label="primPlusNat vuz40 vuz30",fontsize=16,color="magenta"];48 -> 69[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 48 -> 70[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 49[label="vuz30",fontsize=16,color="green",shape="box"];50[label="vuz40",fontsize=16,color="green",shape="box"];52[label="negate vuz30",fontsize=16,color="blue",shape="box"];1451[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];52 -> 1451[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1451 -> 71[label="",style="solid", color="blue", weight=3]; 160.89/120.05 1452[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];52 -> 1452[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1452 -> 72[label="",style="solid", color="blue", weight=3]; 160.89/120.05 53[label="vuz31",fontsize=16,color="green",shape="box"];54[label="vuz40",fontsize=16,color="green",shape="box"];55[label="vuz41",fontsize=16,color="green",shape="box"];51[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];51 -> 73[label="",style="solid", color="black", weight=3]; 160.89/120.05 56 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 56[label="vuz30 * vuz41",fontsize=16,color="magenta"];56 -> 74[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 56 -> 75[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 57 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 57[label="vuz40 * vuz31",fontsize=16,color="magenta"];57 -> 76[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 58[label="primMulInt vuz41 vuz31",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];58 -> 1453[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1453 -> 77[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1454[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];58 -> 1454[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1454 -> 78[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 59 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 59[label="vuz30 * vuz41",fontsize=16,color="magenta"];59 -> 79[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 59 -> 80[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 60 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 60[label="vuz40 * vuz31",fontsize=16,color="magenta"];60 -> 81[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 60 -> 82[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 61[label="vuz41",fontsize=16,color="green",shape="box"];62[label="vuz31",fontsize=16,color="green",shape="box"];63[label="primMinusNat (Succ vuz400) (Succ vuz300)",fontsize=16,color="black",shape="box"];63 -> 83[label="",style="solid", color="black", weight=3]; 160.89/120.05 64[label="primMinusNat (Succ vuz400) Zero",fontsize=16,color="black",shape="box"];64 -> 84[label="",style="solid", color="black", weight=3]; 160.89/120.05 65[label="primMinusNat Zero (Succ vuz300)",fontsize=16,color="black",shape="box"];65 -> 85[label="",style="solid", color="black", weight=3]; 160.89/120.05 66[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];66 -> 86[label="",style="solid", color="black", weight=3]; 160.89/120.05 67[label="primPlusNat (Succ vuz400) vuz30",fontsize=16,color="burlywood",shape="box"];1455[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];67 -> 1455[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1455 -> 87[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1456[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 1456[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1456 -> 88[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 68[label="primPlusNat Zero vuz30",fontsize=16,color="burlywood",shape="box"];1457[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];68 -> 1457[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1457 -> 89[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1458[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];68 -> 1458[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1458 -> 90[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 69[label="vuz40",fontsize=16,color="green",shape="box"];70[label="vuz30",fontsize=16,color="green",shape="box"];71[label="negate vuz30",fontsize=16,color="burlywood",shape="triangle"];1459[label="vuz30/Integer vuz300",fontsize=10,color="white",style="solid",shape="box"];71 -> 1459[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1459 -> 91[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 72[label="negate vuz30",fontsize=16,color="black",shape="triangle"];72 -> 92[label="",style="solid", color="black", weight=3]; 160.89/120.05 73[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];73 -> 93[label="",style="solid", color="black", weight=3]; 160.89/120.05 74[label="vuz30",fontsize=16,color="green",shape="box"];75[label="vuz41",fontsize=16,color="green",shape="box"];76[label="vuz40",fontsize=16,color="green",shape="box"];77[label="primMulInt (Pos vuz410) vuz31",fontsize=16,color="burlywood",shape="box"];1460[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];77 -> 1460[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1460 -> 94[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1461[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];77 -> 1461[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1461 -> 95[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 78[label="primMulInt (Neg vuz410) vuz31",fontsize=16,color="burlywood",shape="box"];1462[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];78 -> 1462[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1462 -> 96[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1463[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];78 -> 1463[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1463 -> 97[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 79[label="vuz30",fontsize=16,color="green",shape="box"];80[label="vuz41",fontsize=16,color="green",shape="box"];81[label="vuz40",fontsize=16,color="green",shape="box"];82[label="vuz31",fontsize=16,color="green",shape="box"];83 -> 34[label="",style="dashed", color="red", weight=0]; 160.89/120.05 83[label="primMinusNat vuz400 vuz300",fontsize=16,color="magenta"];83 -> 98[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 83 -> 99[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 84[label="Pos (Succ vuz400)",fontsize=16,color="green",shape="box"];85[label="Neg (Succ vuz300)",fontsize=16,color="green",shape="box"];86[label="Pos Zero",fontsize=16,color="green",shape="box"];87[label="primPlusNat (Succ vuz400) (Succ vuz300)",fontsize=16,color="black",shape="box"];87 -> 100[label="",style="solid", color="black", weight=3]; 160.89/120.05 88[label="primPlusNat (Succ vuz400) Zero",fontsize=16,color="black",shape="box"];88 -> 101[label="",style="solid", color="black", weight=3]; 160.89/120.05 89[label="primPlusNat Zero (Succ vuz300)",fontsize=16,color="black",shape="box"];89 -> 102[label="",style="solid", color="black", weight=3]; 160.89/120.05 90[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];90 -> 103[label="",style="solid", color="black", weight=3]; 160.89/120.05 91[label="negate Integer vuz300",fontsize=16,color="black",shape="box"];91 -> 104[label="",style="solid", color="black", weight=3]; 160.89/120.05 92[label="primNegInt vuz30",fontsize=16,color="burlywood",shape="triangle"];1464[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];92 -> 1464[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1464 -> 105[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1465[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];92 -> 1465[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1465 -> 106[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 93[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 160.89/120.05 94[label="primMulInt (Pos vuz410) (Pos vuz310)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 160.89/120.05 95[label="primMulInt (Pos vuz410) (Neg vuz310)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 160.89/120.05 96[label="primMulInt (Neg vuz410) (Pos vuz310)",fontsize=16,color="black",shape="box"];96 -> 110[label="",style="solid", color="black", weight=3]; 160.89/120.05 97[label="primMulInt (Neg vuz410) (Neg vuz310)",fontsize=16,color="black",shape="box"];97 -> 111[label="",style="solid", color="black", weight=3]; 160.89/120.05 98[label="vuz400",fontsize=16,color="green",shape="box"];99[label="vuz300",fontsize=16,color="green",shape="box"];100[label="Succ (Succ (primPlusNat vuz400 vuz300))",fontsize=16,color="green",shape="box"];100 -> 112[label="",style="dashed", color="green", weight=3]; 160.89/120.05 101[label="Succ vuz400",fontsize=16,color="green",shape="box"];102[label="Succ vuz300",fontsize=16,color="green",shape="box"];103[label="Zero",fontsize=16,color="green",shape="box"];104[label="Integer (primNegInt vuz300)",fontsize=16,color="green",shape="box"];104 -> 113[label="",style="dashed", color="green", weight=3]; 160.89/120.05 105[label="primNegInt (Pos vuz300)",fontsize=16,color="black",shape="box"];105 -> 114[label="",style="solid", color="black", weight=3]; 160.89/120.05 106[label="primNegInt (Neg vuz300)",fontsize=16,color="black",shape="box"];106 -> 115[label="",style="solid", color="black", weight=3]; 160.89/120.05 107 -> 116[label="",style="dashed", color="red", weight=0]; 160.89/120.05 107[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];107 -> 117[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 107 -> 118[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 107 -> 119[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 107 -> 120[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 107 -> 121[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 108[label="Pos (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 160.89/120.05 109[label="Neg (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 160.89/120.05 110[label="Neg (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];110 -> 124[label="",style="dashed", color="green", weight=3]; 160.89/120.05 111[label="Pos (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];111 -> 125[label="",style="dashed", color="green", weight=3]; 160.89/120.05 112 -> 47[label="",style="dashed", color="red", weight=0]; 160.89/120.05 112[label="primPlusNat vuz400 vuz300",fontsize=16,color="magenta"];112 -> 126[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 112 -> 127[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 113 -> 92[label="",style="dashed", color="red", weight=0]; 160.89/120.05 113[label="primNegInt vuz300",fontsize=16,color="magenta"];113 -> 128[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 114[label="Neg vuz300",fontsize=16,color="green",shape="box"];115[label="Pos vuz300",fontsize=16,color="green",shape="box"];117[label="vuz11",fontsize=16,color="green",shape="box"];118[label="vuz12",fontsize=16,color="green",shape="box"];119[label="vuz10",fontsize=16,color="green",shape="box"];120[label="vuz13",fontsize=16,color="green",shape="box"];121[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1466[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];121 -> 1466[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1466 -> 129[label="",style="solid", color="blue", weight=3]; 160.89/120.05 1467[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];121 -> 1467[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1467 -> 130[label="",style="solid", color="blue", weight=3]; 160.89/120.05 116[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1468[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];116 -> 1468[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1468 -> 131[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1469[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];116 -> 1469[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1469 -> 132[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 122[label="primMulNat vuz410 vuz310",fontsize=16,color="burlywood",shape="triangle"];1470[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];122 -> 1470[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1470 -> 133[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1471[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 1471[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1471 -> 134[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 123 -> 122[label="",style="dashed", color="red", weight=0]; 160.89/120.05 123[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 124 -> 122[label="",style="dashed", color="red", weight=0]; 160.89/120.05 124[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];124 -> 136[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 125 -> 122[label="",style="dashed", color="red", weight=0]; 160.89/120.05 125[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];125 -> 137[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 125 -> 138[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 126[label="vuz400",fontsize=16,color="green",shape="box"];127[label="vuz300",fontsize=16,color="green",shape="box"];128[label="vuz300",fontsize=16,color="green",shape="box"];129 -> 1046[label="",style="dashed", color="red", weight=0]; 160.89/120.05 129[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];129 -> 1047[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 130 -> 140[label="",style="dashed", color="red", weight=0]; 160.89/120.05 130[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];130 -> 141[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 131[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];131 -> 142[label="",style="solid", color="black", weight=3]; 160.89/120.05 132[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];132 -> 143[label="",style="solid", color="black", weight=3]; 160.89/120.05 133[label="primMulNat (Succ vuz4100) vuz310",fontsize=16,color="burlywood",shape="box"];1472[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];133 -> 1472[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1472 -> 144[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1473[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];133 -> 1473[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1473 -> 145[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 134[label="primMulNat Zero vuz310",fontsize=16,color="burlywood",shape="box"];1474[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];134 -> 1474[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1474 -> 146[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1475[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];134 -> 1475[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1475 -> 147[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 135[label="vuz310",fontsize=16,color="green",shape="box"];136[label="vuz410",fontsize=16,color="green",shape="box"];137[label="vuz310",fontsize=16,color="green",shape="box"];138[label="vuz410",fontsize=16,color="green",shape="box"];1047[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1476[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1047 -> 1476[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1476 -> 1057[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1046[label="vuz101 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1477[label="vuz101/Integer vuz1010",fontsize=10,color="white",style="solid",shape="box"];1046 -> 1477[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1477 -> 1058[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 141 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 141[label="vuz11 * vuz13",fontsize=16,color="magenta"];141 -> 149[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 141 -> 150[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 140[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];140 -> 151[label="",style="solid", color="black", weight=3]; 160.89/120.05 142[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 160.89/120.05 143[label="error []",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 160.89/120.05 144[label="primMulNat (Succ vuz4100) (Succ vuz3100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 160.89/120.05 145[label="primMulNat (Succ vuz4100) Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 160.89/120.05 146[label="primMulNat Zero (Succ vuz3100)",fontsize=16,color="black",shape="box"];146 -> 156[label="",style="solid", color="black", weight=3]; 160.89/120.05 147[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];147 -> 157[label="",style="solid", color="black", weight=3]; 160.89/120.05 1057[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1478[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1057 -> 1478[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1478 -> 1066[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1058[label="Integer vuz1010 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1058 -> 1067[label="",style="solid", color="black", weight=3]; 160.89/120.05 149[label="vuz11",fontsize=16,color="green",shape="box"];150[label="vuz13",fontsize=16,color="green",shape="box"];151[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1479[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];151 -> 1479[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1479 -> 159[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1480[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];151 -> 1480[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1480 -> 160[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 152[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];152 -> 161[label="",style="solid", color="black", weight=3]; 160.89/120.05 153[label="error []",fontsize=16,color="red",shape="box"];154 -> 47[label="",style="dashed", color="red", weight=0]; 160.89/120.05 154[label="primPlusNat (primMulNat vuz4100 (Succ vuz3100)) (Succ vuz3100)",fontsize=16,color="magenta"];154 -> 162[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 154 -> 163[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 155[label="Zero",fontsize=16,color="green",shape="box"];156[label="Zero",fontsize=16,color="green",shape="box"];157[label="Zero",fontsize=16,color="green",shape="box"];1066[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1066 -> 1091[label="",style="solid", color="black", weight=3]; 160.89/120.05 1067[label="Integer vuz1010 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1067 -> 1092[label="",style="solid", color="black", weight=3]; 160.89/120.05 159[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1481[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];159 -> 1481[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1481 -> 166[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1482[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 1482[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1482 -> 167[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 160[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1483[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];160 -> 1483[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1483 -> 168[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1484[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];160 -> 1484[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1484 -> 169[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 161[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) :% (vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21))",fontsize=16,color="green",shape="box"];161 -> 170[label="",style="dashed", color="green", weight=3]; 160.89/120.05 161 -> 171[label="",style="dashed", color="green", weight=3]; 160.89/120.05 162 -> 122[label="",style="dashed", color="red", weight=0]; 160.89/120.05 162[label="primMulNat vuz4100 (Succ vuz3100)",fontsize=16,color="magenta"];162 -> 172[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 162 -> 173[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 163[label="Succ vuz3100",fontsize=16,color="green",shape="box"];1091[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1091 -> 1142[label="",style="dashed", color="green", weight=3]; 160.89/120.05 1092[label="primEqInt vuz1010 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1485[label="vuz1010/Pos vuz10100",fontsize=10,color="white",style="solid",shape="box"];1092 -> 1485[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1485 -> 1143[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1486[label="vuz1010/Neg vuz10100",fontsize=10,color="white",style="solid",shape="box"];1092 -> 1486[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1486 -> 1144[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 166[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];166 -> 177[label="",style="solid", color="black", weight=3]; 160.89/120.05 167[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];167 -> 178[label="",style="solid", color="black", weight=3]; 160.89/120.05 168[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];168 -> 179[label="",style="solid", color="black", weight=3]; 160.89/120.05 169[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];169 -> 180[label="",style="solid", color="black", weight=3]; 160.89/120.05 170[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1487[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];170 -> 1487[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1487 -> 181[label="",style="solid", color="blue", weight=3]; 160.89/120.05 1488[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];170 -> 1488[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1488 -> 182[label="",style="solid", color="blue", weight=3]; 160.89/120.05 171[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1489[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];171 -> 1489[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1489 -> 183[label="",style="solid", color="blue", weight=3]; 160.89/120.05 1490[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];171 -> 1490[label="",style="solid", color="blue", weight=9]; 160.89/120.05 1490 -> 184[label="",style="solid", color="blue", weight=3]; 160.89/120.05 172[label="Succ vuz3100",fontsize=16,color="green",shape="box"];173[label="vuz4100",fontsize=16,color="green",shape="box"];1142 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1142[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1142 -> 1158[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1142 -> 1159[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1143[label="primEqInt (Pos vuz10100) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1491[label="vuz10100/Succ vuz101000",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1491[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1491 -> 1160[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1492[label="vuz10100/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1492[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1492 -> 1161[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1144[label="primEqInt (Neg vuz10100) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1493[label="vuz10100/Succ vuz101000",fontsize=10,color="white",style="solid",shape="box"];1144 -> 1493[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1493 -> 1162[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1494[label="vuz10100/Zero",fontsize=10,color="white",style="solid",shape="box"];1144 -> 1494[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1494 -> 1163[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 177[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];177 -> 186[label="",style="solid", color="black", weight=3]; 160.89/120.05 178[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];178 -> 187[label="",style="solid", color="black", weight=3]; 160.89/120.05 179[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];179 -> 188[label="",style="solid", color="black", weight=3]; 160.89/120.05 180[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];180 -> 189[label="",style="solid", color="black", weight=3]; 160.89/120.05 181[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1495[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];181 -> 1495[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1495 -> 190[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 182 -> 223[label="",style="dashed", color="red", weight=0]; 160.89/120.05 182[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];182 -> 224[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 182 -> 225[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 182 -> 226[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 183[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1496[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];183 -> 1496[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1496 -> 197[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 184 -> 223[label="",style="dashed", color="red", weight=0]; 160.89/120.05 184[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];184 -> 227[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 184 -> 228[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 184 -> 229[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1158[label="vuz110",fontsize=16,color="green",shape="box"];1159[label="vuz130",fontsize=16,color="green",shape="box"];1160[label="primEqInt (Pos (Succ vuz101000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1160 -> 1179[label="",style="solid", color="black", weight=3]; 160.89/120.05 1161[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1161 -> 1180[label="",style="solid", color="black", weight=3]; 160.89/120.05 1162[label="primEqInt (Neg (Succ vuz101000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1162 -> 1181[label="",style="solid", color="black", weight=3]; 160.89/120.05 1163[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1163 -> 1182[label="",style="solid", color="black", weight=3]; 160.89/120.05 186[label="False",fontsize=16,color="green",shape="box"];187[label="True",fontsize=16,color="green",shape="box"];188[label="False",fontsize=16,color="green",shape="box"];189[label="True",fontsize=16,color="green",shape="box"];190[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1497[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];190 -> 1497[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1497 -> 213[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 224 -> 231[label="",style="dashed", color="red", weight=0]; 160.89/120.05 224[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];224 -> 232[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 224 -> 233[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 225 -> 231[label="",style="dashed", color="red", weight=0]; 160.89/120.05 225[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];225 -> 234[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 225 -> 235[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 226 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 226[label="vuz23 * vuz21",fontsize=16,color="magenta"];226 -> 238[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 226 -> 239[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 223[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];223 -> 240[label="",style="solid", color="black", weight=3]; 160.89/120.05 197[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1498[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];197 -> 1498[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1498 -> 241[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 227 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 227[label="vuz23 * vuz21",fontsize=16,color="magenta"];227 -> 242[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 227 -> 243[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 228 -> 231[label="",style="dashed", color="red", weight=0]; 160.89/120.05 228[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];228 -> 236[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 228 -> 237[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 229 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 229[label="vuz23 * vuz21",fontsize=16,color="magenta"];229 -> 244[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 229 -> 245[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1179[label="False",fontsize=16,color="green",shape="box"];1180[label="True",fontsize=16,color="green",shape="box"];1181[label="False",fontsize=16,color="green",shape="box"];1182[label="True",fontsize=16,color="green",shape="box"];213[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];213 -> 250[label="",style="solid", color="black", weight=3]; 160.89/120.05 232 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 232[label="vuz22 * vuz23",fontsize=16,color="magenta"];232 -> 251[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 232 -> 252[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 233 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 233[label="vuz20 * vuz21",fontsize=16,color="magenta"];233 -> 253[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 233 -> 254[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 231[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];231 -> 255[label="",style="solid", color="black", weight=3]; 160.89/120.05 234 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 234[label="vuz22 * vuz23",fontsize=16,color="magenta"];234 -> 256[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 234 -> 257[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 235 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 235[label="vuz20 * vuz21",fontsize=16,color="magenta"];235 -> 258[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 235 -> 259[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 238[label="vuz23",fontsize=16,color="green",shape="box"];239[label="vuz21",fontsize=16,color="green",shape="box"];240[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1499[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];240 -> 1499[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1499 -> 264[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1500[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];240 -> 1500[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1500 -> 265[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 241[label="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];241 -> 266[label="",style="solid", color="black", weight=3]; 160.89/120.05 242[label="vuz23",fontsize=16,color="green",shape="box"];243[label="vuz21",fontsize=16,color="green",shape="box"];236 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 236[label="vuz22 * vuz23",fontsize=16,color="magenta"];236 -> 260[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 236 -> 261[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 237 -> 40[label="",style="dashed", color="red", weight=0]; 160.89/120.05 237[label="vuz20 * vuz21",fontsize=16,color="magenta"];237 -> 262[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 237 -> 263[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 244[label="vuz23",fontsize=16,color="green",shape="box"];245[label="vuz21",fontsize=16,color="green",shape="box"];250 -> 271[label="",style="dashed", color="red", weight=0]; 160.89/120.05 250[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];250 -> 272[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 250 -> 273[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 251[label="vuz22",fontsize=16,color="green",shape="box"];252[label="vuz23",fontsize=16,color="green",shape="box"];253[label="vuz20",fontsize=16,color="green",shape="box"];254[label="vuz21",fontsize=16,color="green",shape="box"];255[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1501[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];255 -> 1501[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1501 -> 274[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1502[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];255 -> 1502[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1502 -> 275[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 256[label="vuz22",fontsize=16,color="green",shape="box"];257[label="vuz23",fontsize=16,color="green",shape="box"];258[label="vuz20",fontsize=16,color="green",shape="box"];259[label="vuz21",fontsize=16,color="green",shape="box"];264[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];264 -> 276[label="",style="solid", color="black", weight=3]; 160.89/120.05 265[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];265 -> 277[label="",style="solid", color="black", weight=3]; 160.89/120.05 266 -> 278[label="",style="dashed", color="red", weight=0]; 160.89/120.05 266[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];266 -> 279[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 266 -> 280[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 260[label="vuz22",fontsize=16,color="green",shape="box"];261[label="vuz23",fontsize=16,color="green",shape="box"];262[label="vuz20",fontsize=16,color="green",shape="box"];263[label="vuz21",fontsize=16,color="green",shape="box"];272 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 272[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];272 -> 281[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 272 -> 282[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 273 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 273[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];273 -> 283[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 273 -> 284[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 271[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1503[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];271 -> 1503[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1503 -> 285[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 274[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1504[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];274 -> 1504[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1504 -> 286[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1505[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];274 -> 1505[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1505 -> 287[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 275[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1506[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];275 -> 1506[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1506 -> 288[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1507[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];275 -> 1507[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1507 -> 289[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 276 -> 419[label="",style="dashed", color="red", weight=0]; 160.89/120.05 276[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];276 -> 420[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 277 -> 447[label="",style="dashed", color="red", weight=0]; 160.89/120.05 277[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];277 -> 448[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 279 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 279[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];279 -> 292[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 279 -> 293[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 280 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 280[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];280 -> 294[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 280 -> 295[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 278[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];278 -> 296[label="",style="solid", color="black", weight=3]; 160.89/120.05 281[label="vuz200",fontsize=16,color="green",shape="box"];282[label="vuz210",fontsize=16,color="green",shape="box"];283[label="vuz200",fontsize=16,color="green",shape="box"];284[label="vuz210",fontsize=16,color="green",shape="box"];285[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1508[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];285 -> 1508[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1508 -> 297[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 286[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];286 -> 298[label="",style="solid", color="black", weight=3]; 160.89/120.05 287[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];287 -> 299[label="",style="solid", color="black", weight=3]; 160.89/120.05 288[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];288 -> 300[label="",style="solid", color="black", weight=3]; 160.89/120.05 289[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];289 -> 301[label="",style="solid", color="black", weight=3]; 160.89/120.05 420[label="gcd vuz38 vuz33",fontsize=16,color="black",shape="triangle"];420 -> 436[label="",style="solid", color="black", weight=3]; 160.89/120.05 419[label="primQuotInt (Pos vuz320) vuz65",fontsize=16,color="burlywood",shape="triangle"];1509[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];419 -> 1509[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1509 -> 437[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1510[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];419 -> 1510[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1510 -> 438[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 448 -> 420[label="",style="dashed", color="red", weight=0]; 160.89/120.05 448[label="gcd vuz38 vuz33",fontsize=16,color="magenta"];447[label="primQuotInt (Neg vuz320) vuz68",fontsize=16,color="burlywood",shape="triangle"];1511[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];447 -> 1511[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1511 -> 464[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1512[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];447 -> 1512[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1512 -> 465[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 292[label="vuz230",fontsize=16,color="green",shape="box"];293[label="vuz210",fontsize=16,color="green",shape="box"];294[label="vuz230",fontsize=16,color="green",shape="box"];295[label="vuz210",fontsize=16,color="green",shape="box"];296[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];296 -> 304[label="",style="solid", color="black", weight=3]; 160.89/120.05 297[label="(Integer vuz41 + Integer vuz220 * Integer vuz230) `quot` reduce2D (Integer vuz42 + Integer vuz220 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];297 -> 305[label="",style="solid", color="black", weight=3]; 160.89/120.05 298[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];298 -> 306[label="",style="dashed", color="green", weight=3]; 160.89/120.05 299 -> 34[label="",style="dashed", color="red", weight=0]; 160.89/120.05 299[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];299 -> 307[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 299 -> 308[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 300 -> 34[label="",style="dashed", color="red", weight=0]; 160.89/120.05 300[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];300 -> 309[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 300 -> 310[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 301[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];301 -> 311[label="",style="dashed", color="green", weight=3]; 160.89/120.05 436[label="gcd3 vuz38 vuz33",fontsize=16,color="black",shape="box"];436 -> 442[label="",style="solid", color="black", weight=3]; 160.89/120.05 437[label="primQuotInt (Pos vuz320) (Pos vuz650)",fontsize=16,color="burlywood",shape="box"];1513[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];437 -> 1513[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1513 -> 443[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1514[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];437 -> 1514[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1514 -> 444[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 438[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1515[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];438 -> 1515[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1515 -> 445[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1516[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];438 -> 1516[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1516 -> 446[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 464[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1517[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];464 -> 1517[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1517 -> 468[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1518[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];464 -> 1518[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1518 -> 469[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 465[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1519[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];465 -> 1519[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1519 -> 470[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1520[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];465 -> 1520[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1520 -> 471[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 304[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];304 -> 316[label="",style="solid", color="black", weight=3]; 160.89/120.05 305 -> 317[label="",style="dashed", color="red", weight=0]; 160.89/120.05 305[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];305 -> 318[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 305 -> 319[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 306 -> 47[label="",style="dashed", color="red", weight=0]; 160.89/120.05 306[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];306 -> 320[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 306 -> 321[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 307[label="vuz400",fontsize=16,color="green",shape="box"];308[label="vuz390",fontsize=16,color="green",shape="box"];309[label="vuz390",fontsize=16,color="green",shape="box"];310[label="vuz400",fontsize=16,color="green",shape="box"];311 -> 47[label="",style="dashed", color="red", weight=0]; 160.89/120.05 311[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];311 -> 322[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 311 -> 323[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 442 -> 466[label="",style="dashed", color="red", weight=0]; 160.89/120.05 442[label="gcd2 (vuz38 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];442 -> 467[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 443[label="primQuotInt (Pos vuz320) (Pos (Succ vuz6500))",fontsize=16,color="black",shape="box"];443 -> 472[label="",style="solid", color="black", weight=3]; 160.89/120.05 444[label="primQuotInt (Pos vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];444 -> 473[label="",style="solid", color="black", weight=3]; 160.89/120.05 445[label="primQuotInt (Pos vuz320) (Neg (Succ vuz6500))",fontsize=16,color="black",shape="box"];445 -> 474[label="",style="solid", color="black", weight=3]; 160.89/120.05 446[label="primQuotInt (Pos vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];446 -> 475[label="",style="solid", color="black", weight=3]; 160.89/120.05 468[label="primQuotInt (Neg vuz320) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];468 -> 487[label="",style="solid", color="black", weight=3]; 160.89/120.05 469[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];469 -> 488[label="",style="solid", color="black", weight=3]; 160.89/120.05 470[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];470 -> 489[label="",style="solid", color="black", weight=3]; 160.89/120.05 471[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];471 -> 490[label="",style="solid", color="black", weight=3]; 160.89/120.05 316[label="Integer vuz43 `quot` gcd2 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="box"];1521[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];316 -> 1521[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1521 -> 330[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 318 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 318[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];318 -> 331[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 318 -> 332[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 319 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 319[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];319 -> 333[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 319 -> 334[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 317[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];317 -> 335[label="",style="solid", color="black", weight=3]; 160.89/120.05 320[label="vuz400",fontsize=16,color="green",shape="box"];321[label="vuz390",fontsize=16,color="green",shape="box"];322[label="vuz400",fontsize=16,color="green",shape="box"];323[label="vuz390",fontsize=16,color="green",shape="box"];467 -> 140[label="",style="dashed", color="red", weight=0]; 160.89/120.05 467[label="vuz38 == fromInt (Pos Zero)",fontsize=16,color="magenta"];467 -> 476[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 466[label="gcd2 vuz69 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1522[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];466 -> 1522[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1522 -> 477[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1523[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];466 -> 1523[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1523 -> 478[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 472[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];472 -> 491[label="",style="dashed", color="green", weight=3]; 160.89/120.05 473[label="error []",fontsize=16,color="black",shape="triangle"];473 -> 492[label="",style="solid", color="black", weight=3]; 160.89/120.05 474[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];474 -> 493[label="",style="dashed", color="green", weight=3]; 160.89/120.05 475 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.05 475[label="error []",fontsize=16,color="magenta"];487[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];487 -> 505[label="",style="dashed", color="green", weight=3]; 160.89/120.05 488 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.05 488[label="error []",fontsize=16,color="magenta"];489[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];489 -> 506[label="",style="dashed", color="green", weight=3]; 160.89/120.05 490 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.05 490[label="error []",fontsize=16,color="magenta"];330[label="Integer vuz43 `quot` gcd2 (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];330 -> 340[label="",style="solid", color="black", weight=3]; 160.89/120.05 331[label="vuz220",fontsize=16,color="green",shape="box"];332[label="vuz230",fontsize=16,color="green",shape="box"];333[label="vuz220",fontsize=16,color="green",shape="box"];334[label="vuz230",fontsize=16,color="green",shape="box"];335 -> 341[label="",style="dashed", color="red", weight=0]; 160.89/120.05 335[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];335 -> 342[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 335 -> 343[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 476[label="vuz38",fontsize=16,color="green",shape="box"];477[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];477 -> 494[label="",style="solid", color="black", weight=3]; 160.89/120.05 478[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];478 -> 495[label="",style="solid", color="black", weight=3]; 160.89/120.05 491[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];491 -> 1524[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1524 -> 507[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1525[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];491 -> 1525[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1525 -> 508[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 492[label="error []",fontsize=16,color="red",shape="box"];493 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.05 493[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];493 -> 509[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 505 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.05 505[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];505 -> 513[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 505 -> 514[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 506 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.05 506[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];506 -> 515[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 506 -> 516[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 340 -> 350[label="",style="dashed", color="red", weight=0]; 160.89/120.05 340[label="Integer vuz43 `quot` gcd2 (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="magenta"];340 -> 351[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 340 -> 352[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 342 -> 255[label="",style="dashed", color="red", weight=0]; 160.89/120.05 342[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];342 -> 353[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 342 -> 354[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 343 -> 255[label="",style="dashed", color="red", weight=0]; 160.89/120.05 343[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];343 -> 355[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 343 -> 356[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 341[label="Integer vuz49 `quot` reduce2D (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];341 -> 357[label="",style="solid", color="black", weight=3]; 160.89/120.05 494[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];494 -> 510[label="",style="solid", color="black", weight=3]; 160.89/120.05 495 -> 511[label="",style="dashed", color="red", weight=0]; 160.89/120.05 495[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];495 -> 512[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 507[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];507 -> 517[label="",style="solid", color="black", weight=3]; 160.89/120.05 508[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];508 -> 518[label="",style="solid", color="black", weight=3]; 160.89/120.05 509[label="vuz6500",fontsize=16,color="green",shape="box"];513[label="vuz320",fontsize=16,color="green",shape="box"];514[label="vuz6800",fontsize=16,color="green",shape="box"];515[label="vuz320",fontsize=16,color="green",shape="box"];516[label="vuz6800",fontsize=16,color="green",shape="box"];351 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 351[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];351 -> 366[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 351 -> 367[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 352 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 352[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];352 -> 368[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 352 -> 369[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 350[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1526[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];350 -> 1526[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1526 -> 370[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 353[label="vuz47",fontsize=16,color="green",shape="box"];354[label="vuz41",fontsize=16,color="green",shape="box"];355[label="vuz47",fontsize=16,color="green",shape="box"];356[label="vuz41",fontsize=16,color="green",shape="box"];357[label="Integer vuz49 `quot` gcd (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];357 -> 371[label="",style="solid", color="black", weight=3]; 160.89/120.05 510[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];510 -> 519[label="",style="solid", color="black", weight=3]; 160.89/120.05 512 -> 140[label="",style="dashed", color="red", weight=0]; 160.89/120.05 512[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];512 -> 520[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 511[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1527[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];511 -> 1527[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1527 -> 521[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1528[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];511 -> 1528[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1528 -> 522[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 517[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1529[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];517 -> 1529[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1529 -> 526[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1530[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];517 -> 1530[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1530 -> 527[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 518[label="Zero",fontsize=16,color="green",shape="box"];366[label="vuz200",fontsize=16,color="green",shape="box"];367[label="vuz210",fontsize=16,color="green",shape="box"];368[label="vuz200",fontsize=16,color="green",shape="box"];369[label="vuz210",fontsize=16,color="green",shape="box"];370[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz220 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz220 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];370 -> 378[label="",style="solid", color="black", weight=3]; 160.89/120.05 371[label="Integer vuz49 `quot` gcd3 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];371 -> 379[label="",style="solid", color="black", weight=3]; 160.89/120.05 519[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];519 -> 528[label="",style="solid", color="black", weight=3]; 160.89/120.05 520[label="vuz33",fontsize=16,color="green",shape="box"];521[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];521 -> 529[label="",style="solid", color="black", weight=3]; 160.89/120.05 522[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];522 -> 530[label="",style="solid", color="black", weight=3]; 160.89/120.05 526[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1531[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];526 -> 1531[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1531 -> 538[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1532[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];526 -> 1532[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1532 -> 539[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 527[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1533[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];527 -> 1533[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1533 -> 540[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1534[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];527 -> 1534[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1534 -> 541[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 378 -> 386[label="",style="dashed", color="red", weight=0]; 160.89/120.05 378[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer (primMulInt vuz220 vuz230) == fromInt (Pos Zero)) (Integer vuz53 + Integer (primMulInt vuz220 vuz230)) (Integer vuz44)",fontsize=16,color="magenta"];378 -> 387[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 378 -> 388[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 379 -> 389[label="",style="dashed", color="red", weight=0]; 160.89/120.05 379[label="Integer vuz49 `quot` gcd2 (Integer vuz50 == fromInt (Pos Zero)) (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];379 -> 390[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 528 -> 542[label="",style="dashed", color="red", weight=0]; 160.89/120.05 528[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];528 -> 543[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 529 -> 494[label="",style="dashed", color="red", weight=0]; 160.89/120.05 529[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];530 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.05 530[label="error []",fontsize=16,color="magenta"];538[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];538 -> 544[label="",style="solid", color="black", weight=3]; 160.89/120.05 539[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];539 -> 545[label="",style="solid", color="black", weight=3]; 160.89/120.05 540[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];540 -> 546[label="",style="solid", color="black", weight=3]; 160.89/120.05 541[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];541 -> 547[label="",style="solid", color="black", weight=3]; 160.89/120.05 387 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 387[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];387 -> 397[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 387 -> 398[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 388 -> 58[label="",style="dashed", color="red", weight=0]; 160.89/120.05 388[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];388 -> 399[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 388 -> 400[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 386[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];386 -> 401[label="",style="solid", color="black", weight=3]; 160.89/120.05 390 -> 1046[label="",style="dashed", color="red", weight=0]; 160.89/120.05 390[label="Integer vuz50 == fromInt (Pos Zero)",fontsize=16,color="magenta"];390 -> 1050[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 389[label="Integer vuz49 `quot` gcd2 vuz59 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1535[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];389 -> 1535[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1535 -> 403[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1536[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];389 -> 1536[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1536 -> 404[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 543 -> 140[label="",style="dashed", color="red", weight=0]; 160.89/120.05 543[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];543 -> 548[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 542[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1537[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];542 -> 1537[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1537 -> 549[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1538[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];542 -> 1538[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1538 -> 550[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 544 -> 1101[label="",style="dashed", color="red", weight=0]; 160.89/120.05 544[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];544 -> 1102[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 544 -> 1103[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 544 -> 1104[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 544 -> 1105[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 545[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];545 -> 558[label="",style="solid", color="black", weight=3]; 160.89/120.05 546[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];546 -> 559[label="",style="solid", color="black", weight=3]; 160.89/120.05 547[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];547 -> 560[label="",style="solid", color="black", weight=3]; 160.89/120.05 397[label="vuz220",fontsize=16,color="green",shape="box"];398[label="vuz230",fontsize=16,color="green",shape="box"];399[label="vuz220",fontsize=16,color="green",shape="box"];400[label="vuz230",fontsize=16,color="green",shape="box"];401 -> 410[label="",style="dashed", color="red", weight=0]; 160.89/120.05 401[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];401 -> 411[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 401 -> 412[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1050[label="Integer vuz50",fontsize=16,color="green",shape="box"];403[label="Integer vuz49 `quot` gcd2 False (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];403 -> 413[label="",style="solid", color="black", weight=3]; 160.89/120.05 404[label="Integer vuz49 `quot` gcd2 True (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];404 -> 414[label="",style="solid", color="black", weight=3]; 160.89/120.05 548[label="abs vuz33",fontsize=16,color="black",shape="triangle"];548 -> 561[label="",style="solid", color="black", weight=3]; 160.89/120.05 549[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];549 -> 562[label="",style="solid", color="black", weight=3]; 160.89/120.05 550[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];550 -> 563[label="",style="solid", color="black", weight=3]; 160.89/120.05 1102[label="vuz32000",fontsize=16,color="green",shape="box"];1103[label="vuz65000",fontsize=16,color="green",shape="box"];1104[label="vuz65000",fontsize=16,color="green",shape="box"];1105[label="vuz32000",fontsize=16,color="green",shape="box"];1101[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz106 vuz107)",fontsize=16,color="burlywood",shape="triangle"];1539[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1539[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1539 -> 1145[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1540[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1540[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1540 -> 1146[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 558[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];558 -> 571[label="",style="dashed", color="green", weight=3]; 160.89/120.05 559[label="Zero",fontsize=16,color="green",shape="box"];560[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];560 -> 572[label="",style="dashed", color="green", weight=3]; 160.89/120.05 411 -> 255[label="",style="dashed", color="red", weight=0]; 160.89/120.05 411[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];411 -> 479[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 411 -> 480[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 412 -> 1046[label="",style="dashed", color="red", weight=0]; 160.89/120.05 412[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];412 -> 1051[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 410[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1541[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];410 -> 1541[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1541 -> 482[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1542[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];410 -> 1542[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1542 -> 483[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 413[label="Integer vuz49 `quot` gcd0 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];413 -> 484[label="",style="solid", color="black", weight=3]; 160.89/120.05 414 -> 485[label="",style="dashed", color="red", weight=0]; 160.89/120.05 414[label="Integer vuz49 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];414 -> 486[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 561[label="absReal vuz33",fontsize=16,color="black",shape="box"];561 -> 573[label="",style="solid", color="black", weight=3]; 160.89/120.05 562 -> 574[label="",style="dashed", color="red", weight=0]; 160.89/120.05 562[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];562 -> 575[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 562 -> 576[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 563 -> 548[label="",style="dashed", color="red", weight=0]; 160.89/120.05 563[label="abs vuz38",fontsize=16,color="magenta"];563 -> 577[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1145[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) vuz107)",fontsize=16,color="burlywood",shape="box"];1543[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];1145 -> 1543[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1543 -> 1164[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1544[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];1145 -> 1544[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1544 -> 1165[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1146[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero vuz107)",fontsize=16,color="burlywood",shape="box"];1545[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];1146 -> 1545[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1545 -> 1166[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1546[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];1146 -> 1546[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1546 -> 1167[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 571 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.05 571[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];571 -> 582[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 571 -> 583[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 572 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.05 572[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];572 -> 584[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 572 -> 585[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 479[label="vuz58",fontsize=16,color="green",shape="box"];480[label="vuz54",fontsize=16,color="green",shape="box"];1051[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1051 -> 1059[label="",style="dashed", color="green", weight=3]; 160.89/120.05 482[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];482 -> 498[label="",style="solid", color="black", weight=3]; 160.89/120.05 483[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];483 -> 499[label="",style="solid", color="black", weight=3]; 160.89/120.05 484[label="Integer vuz49 `quot` gcd0Gcd' (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];484 -> 500[label="",style="solid", color="black", weight=3]; 160.89/120.05 486 -> 1046[label="",style="dashed", color="red", weight=0]; 160.89/120.05 486[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];486 -> 1052[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 485[label="Integer vuz49 `quot` gcd1 vuz70 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1547[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];485 -> 1547[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1547 -> 503[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1548[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];485 -> 1548[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1548 -> 504[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 573[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];573 -> 586[label="",style="solid", color="black", weight=3]; 160.89/120.05 575 -> 548[label="",style="dashed", color="red", weight=0]; 160.89/120.05 575[label="abs vuz33",fontsize=16,color="magenta"];576 -> 548[label="",style="dashed", color="red", weight=0]; 160.89/120.05 576[label="abs vuz38",fontsize=16,color="magenta"];576 -> 587[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 574[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];574 -> 588[label="",style="solid", color="black", weight=3]; 160.89/120.05 577[label="vuz38",fontsize=16,color="green",shape="box"];1164[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) (Succ vuz1070))",fontsize=16,color="black",shape="box"];1164 -> 1183[label="",style="solid", color="black", weight=3]; 160.89/120.05 1165[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) Zero)",fontsize=16,color="black",shape="box"];1165 -> 1184[label="",style="solid", color="black", weight=3]; 160.89/120.05 1166[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero (Succ vuz1070))",fontsize=16,color="black",shape="box"];1166 -> 1185[label="",style="solid", color="black", weight=3]; 160.89/120.05 1167[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1167 -> 1186[label="",style="solid", color="black", weight=3]; 160.89/120.05 582[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];582 -> 596[label="",style="solid", color="black", weight=3]; 160.89/120.05 583[label="Zero",fontsize=16,color="green",shape="box"];584[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];584 -> 597[label="",style="solid", color="black", weight=3]; 160.89/120.05 585[label="Zero",fontsize=16,color="green",shape="box"];1059 -> 255[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1059[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1059 -> 1068[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1059 -> 1069[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 498[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];498 -> 523[label="",style="solid", color="black", weight=3]; 160.89/120.05 499 -> 524[label="",style="dashed", color="red", weight=0]; 160.89/120.05 499[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];499 -> 525[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 500[label="Integer vuz49 `quot` gcd0Gcd'2 (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];500 -> 531[label="",style="solid", color="black", weight=3]; 160.89/120.05 1052 -> 1047[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1052[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1052 -> 1060[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1052 -> 1061[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 503[label="Integer vuz49 `quot` gcd1 False (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];503 -> 532[label="",style="solid", color="black", weight=3]; 160.89/120.05 504[label="Integer vuz49 `quot` gcd1 True (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];504 -> 533[label="",style="solid", color="black", weight=3]; 160.89/120.05 586[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];586 -> 598[label="",style="solid", color="black", weight=3]; 160.89/120.05 587[label="vuz38",fontsize=16,color="green",shape="box"];588[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];588 -> 599[label="",style="solid", color="black", weight=3]; 160.89/120.05 1183 -> 1101[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1183[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz1060 vuz1070)",fontsize=16,color="magenta"];1183 -> 1196[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1183 -> 1197[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1184[label="primDivNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="black",shape="triangle"];1184 -> 1198[label="",style="solid", color="black", weight=3]; 160.89/120.05 1185[label="primDivNatS0 (Succ vuz104) (Succ vuz105) False",fontsize=16,color="black",shape="box"];1185 -> 1199[label="",style="solid", color="black", weight=3]; 160.89/120.05 1186 -> 1184[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1186[label="primDivNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="magenta"];596[label="Succ vuz32000",fontsize=16,color="green",shape="box"];597[label="Zero",fontsize=16,color="green",shape="box"];1068[label="vuz58",fontsize=16,color="green",shape="box"];1069[label="vuz54",fontsize=16,color="green",shape="box"];523[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];523 -> 534[label="",style="solid", color="black", weight=3]; 160.89/120.05 525 -> 1046[label="",style="dashed", color="red", weight=0]; 160.89/120.05 525[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];525 -> 1053[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 524[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1549[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];524 -> 1549[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1549 -> 536[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1550[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];524 -> 1550[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1550 -> 537[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 531 -> 1028[label="",style="dashed", color="red", weight=0]; 160.89/120.05 531[label="Integer vuz49 `quot` gcd0Gcd'1 (abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)) (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="magenta"];531 -> 1029[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 531 -> 1030[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 531 -> 1031[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1060[label="Integer vuz210",fontsize=16,color="green",shape="box"];1061[label="Integer vuz230",fontsize=16,color="green",shape="box"];532 -> 413[label="",style="dashed", color="red", weight=0]; 160.89/120.05 532[label="Integer vuz49 `quot` gcd0 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];533[label="Integer vuz49 `quot` error []",fontsize=16,color="black",shape="triangle"];533 -> 552[label="",style="solid", color="black", weight=3]; 160.89/120.05 598[label="absReal1 vuz33 (compare vuz33 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];598 -> 608[label="",style="solid", color="black", weight=3]; 160.89/120.05 599[label="gcd0Gcd'2 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];599 -> 609[label="",style="solid", color="black", weight=3]; 160.89/120.05 1196[label="vuz1070",fontsize=16,color="green",shape="box"];1197[label="vuz1060",fontsize=16,color="green",shape="box"];1198[label="Succ (primDivNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105)))",fontsize=16,color="green",shape="box"];1198 -> 1202[label="",style="dashed", color="green", weight=3]; 160.89/120.05 1199[label="Zero",fontsize=16,color="green",shape="box"];534[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];534 -> 553[label="",style="solid", color="black", weight=3]; 160.89/120.05 1053[label="Integer vuz44",fontsize=16,color="green",shape="box"];536[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];536 -> 554[label="",style="solid", color="black", weight=3]; 160.89/120.05 537[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];537 -> 555[label="",style="solid", color="black", weight=3]; 160.89/120.05 1029[label="abs (Integer vuz50)",fontsize=16,color="black",shape="triangle"];1029 -> 1040[label="",style="solid", color="black", weight=3]; 160.89/120.05 1030 -> 1046[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1030[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1030 -> 1054[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1031[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1031 -> 1042[label="",style="solid", color="black", weight=3]; 160.89/120.05 1028[label="Integer vuz49 `quot` gcd0Gcd'1 vuz100 vuz99 vuz97",fontsize=16,color="burlywood",shape="triangle"];1551[label="vuz100/False",fontsize=10,color="white",style="solid",shape="box"];1028 -> 1551[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1551 -> 1043[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1552[label="vuz100/True",fontsize=10,color="white",style="solid",shape="box"];1028 -> 1552[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1552 -> 1044[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 552[label="error []",fontsize=16,color="red",shape="box"];608[label="absReal1 vuz33 (not (compare vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];608 -> 620[label="",style="solid", color="black", weight=3]; 160.89/120.05 609 -> 621[label="",style="dashed", color="red", weight=0]; 160.89/120.05 609[label="gcd0Gcd'1 (vuz75 `rem` vuz74 == fromInt (Pos Zero)) vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];609 -> 622[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1202 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1202[label="primDivNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105))",fontsize=16,color="magenta"];1202 -> 1219[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1202 -> 1220[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 553 -> 1028[label="",style="dashed", color="red", weight=0]; 160.89/120.05 553[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];553 -> 1034[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 553 -> 1035[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 553 -> 1036[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 553 -> 1037[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 554 -> 498[label="",style="dashed", color="red", weight=0]; 160.89/120.05 554[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];555 -> 533[label="",style="dashed", color="red", weight=0]; 160.89/120.05 555[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];555 -> 566[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1040 -> 1063[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1040[label="absReal (Integer vuz50)",fontsize=16,color="magenta"];1040 -> 1064[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1054 -> 1031[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1054[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1042 -> 1063[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1042[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1042 -> 1065[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1043[label="Integer vuz49 `quot` gcd0Gcd'1 False vuz99 vuz97",fontsize=16,color="black",shape="box"];1043 -> 1070[label="",style="solid", color="black", weight=3]; 160.89/120.05 1044[label="Integer vuz49 `quot` gcd0Gcd'1 True vuz99 vuz97",fontsize=16,color="black",shape="box"];1044 -> 1071[label="",style="solid", color="black", weight=3]; 160.89/120.05 620[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1553[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];620 -> 1553[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1553 -> 630[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1554[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];620 -> 1554[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1554 -> 631[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 622 -> 140[label="",style="dashed", color="red", weight=0]; 160.89/120.05 622[label="vuz75 `rem` vuz74 == fromInt (Pos Zero)",fontsize=16,color="magenta"];622 -> 632[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 621[label="gcd0Gcd'1 vuz76 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="burlywood",shape="triangle"];1555[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];621 -> 1555[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1555 -> 633[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1556[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];621 -> 1556[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1556 -> 634[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1219 -> 885[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1219[label="primMinusNatS (Succ vuz104) (Succ vuz105)",fontsize=16,color="magenta"];1219 -> 1241[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1219 -> 1242[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1220[label="Succ vuz105",fontsize=16,color="green",shape="box"];1034 -> 1029[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1034[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1034 -> 1045[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1035 -> 1046[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1035[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1035 -> 1056[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1036[label="vuz43",fontsize=16,color="green",shape="box"];1037 -> 1029[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1037[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1037 -> 1072[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 566[label="vuz43",fontsize=16,color="green",shape="box"];1064[label="Integer vuz50",fontsize=16,color="green",shape="box"];1063[label="absReal vuz102",fontsize=16,color="black",shape="triangle"];1063 -> 1073[label="",style="solid", color="black", weight=3]; 160.89/120.05 1065 -> 1047[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1065[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1065 -> 1074[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1065 -> 1075[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1070[label="Integer vuz49 `quot` gcd0Gcd'0 vuz99 vuz97",fontsize=16,color="black",shape="box"];1070 -> 1093[label="",style="solid", color="black", weight=3]; 160.89/120.05 1071[label="Integer vuz49 `quot` vuz99",fontsize=16,color="burlywood",shape="triangle"];1557[label="vuz99/Integer vuz990",fontsize=10,color="white",style="solid",shape="box"];1071 -> 1557[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1557 -> 1094[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 630[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1558[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];630 -> 1558[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1558 -> 644[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1559[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];630 -> 1559[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1559 -> 645[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 631[label="absReal1 (Neg vuz330) (not (primCmpInt (Neg vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1560[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];631 -> 1560[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1560 -> 646[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1561[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];631 -> 1561[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1561 -> 647[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 632[label="vuz75 `rem` vuz74",fontsize=16,color="black",shape="triangle"];632 -> 648[label="",style="solid", color="black", weight=3]; 160.89/120.05 633[label="gcd0Gcd'1 False vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];633 -> 649[label="",style="solid", color="black", weight=3]; 160.89/120.05 634[label="gcd0Gcd'1 True vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];634 -> 650[label="",style="solid", color="black", weight=3]; 160.89/120.05 1241[label="Succ vuz104",fontsize=16,color="green",shape="box"];1242[label="Succ vuz105",fontsize=16,color="green",shape="box"];885[label="primMinusNatS vuz94 vuz95",fontsize=16,color="burlywood",shape="triangle"];1562[label="vuz94/Succ vuz940",fontsize=10,color="white",style="solid",shape="box"];885 -> 1562[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1562 -> 901[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1563[label="vuz94/Zero",fontsize=10,color="white",style="solid",shape="box"];885 -> 1563[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1563 -> 902[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1045[label="vuz61",fontsize=16,color="green",shape="box"];1056 -> 1029[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1056[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1056 -> 1076[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1072[label="vuz44",fontsize=16,color="green",shape="box"];1073[label="absReal2 vuz102",fontsize=16,color="black",shape="box"];1073 -> 1095[label="",style="solid", color="black", weight=3]; 160.89/120.05 1074[label="Integer vuz210",fontsize=16,color="green",shape="box"];1075[label="Integer vuz230",fontsize=16,color="green",shape="box"];1093 -> 1071[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1093[label="Integer vuz49 `quot` gcd0Gcd' vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1093 -> 1147[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1094[label="Integer vuz49 `quot` Integer vuz990",fontsize=16,color="black",shape="box"];1094 -> 1148[label="",style="solid", color="black", weight=3]; 160.89/120.05 644[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];644 -> 670[label="",style="solid", color="black", weight=3]; 160.89/120.05 645[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];645 -> 671[label="",style="solid", color="black", weight=3]; 160.89/120.05 646[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];646 -> 672[label="",style="solid", color="black", weight=3]; 160.89/120.05 647[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];647 -> 673[label="",style="solid", color="black", weight=3]; 160.89/120.05 648[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1564[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];648 -> 1564[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1564 -> 674[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1565[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];648 -> 1565[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1565 -> 675[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 649 -> 574[label="",style="dashed", color="red", weight=0]; 160.89/120.05 649[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];649 -> 676[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 649 -> 677[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 650[label="vuz74",fontsize=16,color="green",shape="box"];901[label="primMinusNatS (Succ vuz940) vuz95",fontsize=16,color="burlywood",shape="box"];1566[label="vuz95/Succ vuz950",fontsize=10,color="white",style="solid",shape="box"];901 -> 1566[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1566 -> 991[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1567[label="vuz95/Zero",fontsize=10,color="white",style="solid",shape="box"];901 -> 1567[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1567 -> 992[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 902[label="primMinusNatS Zero vuz95",fontsize=16,color="burlywood",shape="box"];1568[label="vuz95/Succ vuz950",fontsize=10,color="white",style="solid",shape="box"];902 -> 1568[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1568 -> 993[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1569[label="vuz95/Zero",fontsize=10,color="white",style="solid",shape="box"];902 -> 1569[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1569 -> 994[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1076[label="vuz44",fontsize=16,color="green",shape="box"];1095[label="absReal1 vuz102 (vuz102 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1095 -> 1149[label="",style="solid", color="black", weight=3]; 160.89/120.05 1147[label="gcd0Gcd' vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="triangle"];1147 -> 1168[label="",style="solid", color="black", weight=3]; 160.89/120.05 1148[label="Integer (primQuotInt vuz49 vuz990)",fontsize=16,color="green",shape="box"];1148 -> 1169[label="",style="dashed", color="green", weight=3]; 160.89/120.05 670[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];670 -> 694[label="",style="solid", color="black", weight=3]; 160.89/120.05 671[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];671 -> 695[label="",style="solid", color="black", weight=3]; 160.89/120.05 672[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];672 -> 696[label="",style="solid", color="black", weight=3]; 160.89/120.05 673[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];673 -> 697[label="",style="solid", color="black", weight=3]; 160.89/120.05 674[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1570[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];674 -> 1570[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1570 -> 698[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1571[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];674 -> 1571[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1571 -> 699[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 675[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1572[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];675 -> 1572[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1572 -> 700[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1573[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];675 -> 1573[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1573 -> 701[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 676 -> 632[label="",style="dashed", color="red", weight=0]; 160.89/120.05 676[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];677[label="vuz74",fontsize=16,color="green",shape="box"];991[label="primMinusNatS (Succ vuz940) (Succ vuz950)",fontsize=16,color="black",shape="box"];991 -> 1011[label="",style="solid", color="black", weight=3]; 160.89/120.05 992[label="primMinusNatS (Succ vuz940) Zero",fontsize=16,color="black",shape="box"];992 -> 1012[label="",style="solid", color="black", weight=3]; 160.89/120.05 993[label="primMinusNatS Zero (Succ vuz950)",fontsize=16,color="black",shape="box"];993 -> 1013[label="",style="solid", color="black", weight=3]; 160.89/120.05 994[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];994 -> 1014[label="",style="solid", color="black", weight=3]; 160.89/120.05 1149[label="absReal1 vuz102 (compare vuz102 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1149 -> 1170[label="",style="solid", color="black", weight=3]; 160.89/120.05 1168[label="gcd0Gcd'2 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1168 -> 1187[label="",style="solid", color="black", weight=3]; 160.89/120.05 1169[label="primQuotInt vuz49 vuz990",fontsize=16,color="burlywood",shape="box"];1574[label="vuz49/Pos vuz490",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1574[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1574 -> 1188[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1575[label="vuz49/Neg vuz490",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1575[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1575 -> 1189[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 694[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];694 -> 710[label="",style="solid", color="black", weight=3]; 160.89/120.05 695[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];695 -> 711[label="",style="solid", color="black", weight=3]; 160.89/120.05 696[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];696 -> 712[label="",style="solid", color="black", weight=3]; 160.89/120.05 697[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];697 -> 713[label="",style="solid", color="black", weight=3]; 160.89/120.05 698[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1576[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];698 -> 1576[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1576 -> 714[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1577[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];698 -> 1577[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1577 -> 715[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 699[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1578[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];699 -> 1578[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1578 -> 716[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1579[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];699 -> 1579[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1579 -> 717[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 700[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1580[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];700 -> 1580[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1580 -> 718[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1581[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];700 -> 1581[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1581 -> 719[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 701[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1582[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];701 -> 1582[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1582 -> 720[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1583[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];701 -> 1583[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1583 -> 721[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1011 -> 885[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1011[label="primMinusNatS vuz940 vuz950",fontsize=16,color="magenta"];1011 -> 1077[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1011 -> 1078[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1012[label="Succ vuz940",fontsize=16,color="green",shape="box"];1013[label="Zero",fontsize=16,color="green",shape="box"];1014[label="Zero",fontsize=16,color="green",shape="box"];1170[label="absReal1 vuz102 (not (compare vuz102 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1584[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1170 -> 1584[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1584 -> 1190[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1187 -> 1200[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1187[label="gcd0Gcd'1 (vuz99 `rem` vuz97 == fromInt (Pos Zero)) vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1187 -> 1201[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1188[label="primQuotInt (Pos vuz490) vuz990",fontsize=16,color="burlywood",shape="box"];1585[label="vuz990/Pos vuz9900",fontsize=10,color="white",style="solid",shape="box"];1188 -> 1585[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1585 -> 1203[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1586[label="vuz990/Neg vuz9900",fontsize=10,color="white",style="solid",shape="box"];1188 -> 1586[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1586 -> 1204[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1189[label="primQuotInt (Neg vuz490) vuz990",fontsize=16,color="burlywood",shape="box"];1587[label="vuz990/Pos vuz9900",fontsize=10,color="white",style="solid",shape="box"];1189 -> 1587[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1587 -> 1205[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1588[label="vuz990/Neg vuz9900",fontsize=10,color="white",style="solid",shape="box"];1189 -> 1588[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1588 -> 1206[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 710[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];710 -> 732[label="",style="solid", color="black", weight=3]; 160.89/120.05 711[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];711 -> 733[label="",style="solid", color="black", weight=3]; 160.89/120.05 712[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];712 -> 734[label="",style="solid", color="black", weight=3]; 160.89/120.05 713[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];713 -> 735[label="",style="solid", color="black", weight=3]; 160.89/120.05 714[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];714 -> 736[label="",style="solid", color="black", weight=3]; 160.89/120.05 715[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];715 -> 737[label="",style="solid", color="black", weight=3]; 160.89/120.05 716[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];716 -> 738[label="",style="solid", color="black", weight=3]; 160.89/120.05 717[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];717 -> 739[label="",style="solid", color="black", weight=3]; 160.89/120.05 718[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];718 -> 740[label="",style="solid", color="black", weight=3]; 160.89/120.05 719[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];719 -> 741[label="",style="solid", color="black", weight=3]; 160.89/120.05 720[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];720 -> 742[label="",style="solid", color="black", weight=3]; 160.89/120.05 721[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];721 -> 743[label="",style="solid", color="black", weight=3]; 160.89/120.05 1077[label="vuz940",fontsize=16,color="green",shape="box"];1078[label="vuz950",fontsize=16,color="green",shape="box"];1190[label="absReal1 (Integer vuz1020) (not (compare (Integer vuz1020) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1190 -> 1207[label="",style="solid", color="black", weight=3]; 160.89/120.05 1201 -> 1046[label="",style="dashed", color="red", weight=0]; 160.89/120.05 1201[label="vuz99 `rem` vuz97 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1201 -> 1208[label="",style="dashed", color="magenta", weight=3]; 160.89/120.05 1200[label="gcd0Gcd'1 vuz108 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="burlywood",shape="triangle"];1589[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1589[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1589 -> 1209[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1590[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1590[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1590 -> 1210[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1203[label="primQuotInt (Pos vuz490) (Pos vuz9900)",fontsize=16,color="burlywood",shape="box"];1591[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1203 -> 1591[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1591 -> 1221[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1592[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1203 -> 1592[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1592 -> 1222[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1204[label="primQuotInt (Pos vuz490) (Neg vuz9900)",fontsize=16,color="burlywood",shape="box"];1593[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1204 -> 1593[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1593 -> 1223[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1594[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1204 -> 1594[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1594 -> 1224[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1205[label="primQuotInt (Neg vuz490) (Pos vuz9900)",fontsize=16,color="burlywood",shape="box"];1595[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1205 -> 1595[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1595 -> 1225[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1596[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1205 -> 1596[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1596 -> 1226[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1206[label="primQuotInt (Neg vuz490) (Neg vuz9900)",fontsize=16,color="burlywood",shape="box"];1597[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1206 -> 1597[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1597 -> 1227[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 1598[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1206 -> 1598[label="",style="solid", color="burlywood", weight=9]; 160.89/120.05 1598 -> 1228[label="",style="solid", color="burlywood", weight=3]; 160.89/120.05 732[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];732 -> 755[label="",style="solid", color="black", weight=3]; 160.89/120.05 733[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];733 -> 756[label="",style="solid", color="black", weight=3]; 160.89/120.05 734[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];734 -> 757[label="",style="solid", color="black", weight=3]; 160.89/120.05 735[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];735 -> 758[label="",style="solid", color="black", weight=3]; 160.89/120.05 736[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];736 -> 759[label="",style="dashed", color="green", weight=3]; 160.89/120.05 737 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.05 737[label="error []",fontsize=16,color="magenta"];738[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];738 -> 760[label="",style="dashed", color="green", weight=3]; 160.89/120.05 739 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.05 739[label="error []",fontsize=16,color="magenta"];740[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];740 -> 761[label="",style="dashed", color="green", weight=3]; 160.89/120.05 741 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.05 741[label="error []",fontsize=16,color="magenta"];742[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];742 -> 762[label="",style="dashed", color="green", weight=3]; 160.89/120.05 743 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.05 743[label="error []",fontsize=16,color="magenta"];1207[label="absReal1 (Integer vuz1020) (not (compare (Integer vuz1020) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1207 -> 1229[label="",style="solid", color="black", weight=3]; 160.89/120.06 1208[label="vuz99 `rem` vuz97",fontsize=16,color="burlywood",shape="triangle"];1599[label="vuz99/Integer vuz990",fontsize=10,color="white",style="solid",shape="box"];1208 -> 1599[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1599 -> 1230[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1209[label="gcd0Gcd'1 False vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1209 -> 1231[label="",style="solid", color="black", weight=3]; 160.89/120.06 1210[label="gcd0Gcd'1 True vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1210 -> 1232[label="",style="solid", color="black", weight=3]; 160.89/120.06 1221[label="primQuotInt (Pos vuz490) (Pos (Succ vuz99000))",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 160.89/120.06 1222[label="primQuotInt (Pos vuz490) (Pos Zero)",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 160.89/120.06 1223[label="primQuotInt (Pos vuz490) (Neg (Succ vuz99000))",fontsize=16,color="black",shape="box"];1223 -> 1245[label="",style="solid", color="black", weight=3]; 160.89/120.06 1224[label="primQuotInt (Pos vuz490) (Neg Zero)",fontsize=16,color="black",shape="box"];1224 -> 1246[label="",style="solid", color="black", weight=3]; 160.89/120.06 1225[label="primQuotInt (Neg vuz490) (Pos (Succ vuz99000))",fontsize=16,color="black",shape="box"];1225 -> 1247[label="",style="solid", color="black", weight=3]; 160.89/120.06 1226[label="primQuotInt (Neg vuz490) (Pos Zero)",fontsize=16,color="black",shape="box"];1226 -> 1248[label="",style="solid", color="black", weight=3]; 160.89/120.06 1227[label="primQuotInt (Neg vuz490) (Neg (Succ vuz99000))",fontsize=16,color="black",shape="box"];1227 -> 1249[label="",style="solid", color="black", weight=3]; 160.89/120.06 1228[label="primQuotInt (Neg vuz490) (Neg Zero)",fontsize=16,color="black",shape="box"];1228 -> 1250[label="",style="solid", color="black", weight=3]; 160.89/120.06 755[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];755 -> 774[label="",style="solid", color="black", weight=3]; 160.89/120.06 756[label="Pos Zero",fontsize=16,color="green",shape="box"];757[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];757 -> 775[label="",style="solid", color="black", weight=3]; 160.89/120.06 758[label="Neg Zero",fontsize=16,color="green",shape="box"];759[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1600[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];759 -> 1600[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1600 -> 776[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1601[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];759 -> 1601[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1601 -> 777[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 760 -> 759[label="",style="dashed", color="red", weight=0]; 160.89/120.06 760[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];760 -> 778[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 761 -> 759[label="",style="dashed", color="red", weight=0]; 160.89/120.06 761[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];761 -> 779[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 762 -> 759[label="",style="dashed", color="red", weight=0]; 160.89/120.06 762[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];762 -> 780[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 762 -> 781[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1229[label="absReal1 (Integer vuz1020) (not (primCmpInt vuz1020 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1602[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1229 -> 1602[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1602 -> 1251[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1603[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1229 -> 1603[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1603 -> 1252[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1230[label="Integer vuz990 `rem` vuz97",fontsize=16,color="burlywood",shape="box"];1604[label="vuz97/Integer vuz970",fontsize=10,color="white",style="solid",shape="box"];1230 -> 1604[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1604 -> 1253[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1231 -> 1254[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1231[label="gcd0Gcd'0 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1231 -> 1255[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1232[label="vuz97",fontsize=16,color="green",shape="box"];1243[label="Pos (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1243 -> 1256[label="",style="dashed", color="green", weight=3]; 160.89/120.06 1244 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1244[label="error []",fontsize=16,color="magenta"];1245[label="Neg (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1245 -> 1257[label="",style="dashed", color="green", weight=3]; 160.89/120.06 1246 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1246[label="error []",fontsize=16,color="magenta"];1247[label="Neg (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1247 -> 1258[label="",style="dashed", color="green", weight=3]; 160.89/120.06 1248 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1248[label="error []",fontsize=16,color="magenta"];1249[label="Pos (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1249 -> 1259[label="",style="dashed", color="green", weight=3]; 160.89/120.06 1250 -> 473[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1250[label="error []",fontsize=16,color="magenta"];774[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];775[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];775 -> 793[label="",style="solid", color="black", weight=3]; 160.89/120.06 776[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];776 -> 794[label="",style="solid", color="black", weight=3]; 160.89/120.06 777[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];777 -> 795[label="",style="solid", color="black", weight=3]; 160.89/120.06 778[label="vuz7400",fontsize=16,color="green",shape="box"];779[label="vuz750",fontsize=16,color="green",shape="box"];780[label="vuz7400",fontsize=16,color="green",shape="box"];781[label="vuz750",fontsize=16,color="green",shape="box"];1251[label="absReal1 (Integer (Pos vuz10200)) (not (primCmpInt (Pos vuz10200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1605[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1251 -> 1605[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1605 -> 1260[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1606[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1251 -> 1606[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1606 -> 1261[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1252[label="absReal1 (Integer (Neg vuz10200)) (not (primCmpInt (Neg vuz10200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1607[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1252 -> 1607[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1607 -> 1262[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1608[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1252 -> 1608[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1608 -> 1263[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1253[label="Integer vuz990 `rem` Integer vuz970",fontsize=16,color="black",shape="box"];1253 -> 1264[label="",style="solid", color="black", weight=3]; 160.89/120.06 1255 -> 1208[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1255[label="vuz99 `rem` vuz97",fontsize=16,color="magenta"];1254[label="gcd0Gcd'0 vuz97 vuz109",fontsize=16,color="black",shape="triangle"];1254 -> 1265[label="",style="solid", color="black", weight=3]; 160.89/120.06 1256 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1256[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1256 -> 1271[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1256 -> 1272[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1257 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1257[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1257 -> 1273[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1257 -> 1274[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1258 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1258[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1258 -> 1275[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1258 -> 1276[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1259 -> 491[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1259[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1259 -> 1277[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1259 -> 1278[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 793 -> 72[label="",style="dashed", color="red", weight=0]; 160.89/120.06 793[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];793 -> 813[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 794[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1609[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];794 -> 1609[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1609 -> 814[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1610[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];794 -> 1610[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1610 -> 815[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 795[label="Zero",fontsize=16,color="green",shape="box"];1260[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (primCmpInt (Pos (Succ vuz102000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1260 -> 1279[label="",style="solid", color="black", weight=3]; 160.89/120.06 1261[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1261 -> 1280[label="",style="solid", color="black", weight=3]; 160.89/120.06 1262[label="absReal1 (Integer (Neg (Succ vuz102000))) (not (primCmpInt (Neg (Succ vuz102000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1262 -> 1281[label="",style="solid", color="black", weight=3]; 160.89/120.06 1263[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1263 -> 1282[label="",style="solid", color="black", weight=3]; 160.89/120.06 1264[label="Integer (primRemInt vuz990 vuz970)",fontsize=16,color="green",shape="box"];1264 -> 1283[label="",style="dashed", color="green", weight=3]; 160.89/120.06 1265 -> 1147[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1265[label="gcd0Gcd' vuz109 (vuz97 `rem` vuz109)",fontsize=16,color="magenta"];1265 -> 1284[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1265 -> 1285[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1271[label="vuz490",fontsize=16,color="green",shape="box"];1272[label="vuz99000",fontsize=16,color="green",shape="box"];1273[label="vuz490",fontsize=16,color="green",shape="box"];1274[label="vuz99000",fontsize=16,color="green",shape="box"];1275[label="vuz490",fontsize=16,color="green",shape="box"];1276[label="vuz99000",fontsize=16,color="green",shape="box"];1277[label="vuz490",fontsize=16,color="green",shape="box"];1278[label="vuz99000",fontsize=16,color="green",shape="box"];813[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];814[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1611[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];814 -> 1611[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1611 -> 845[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1612[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];814 -> 1612[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1612 -> 846[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 815[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1613[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];815 -> 1613[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1613 -> 847[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1614[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];815 -> 1614[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1614 -> 848[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1279[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (primCmpNat (Succ vuz102000) Zero == LT))",fontsize=16,color="black",shape="box"];1279 -> 1294[label="",style="solid", color="black", weight=3]; 160.89/120.06 1280[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1280 -> 1295[label="",style="solid", color="black", weight=3]; 160.89/120.06 1281[label="absReal1 (Integer (Neg (Succ vuz102000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1281 -> 1296[label="",style="solid", color="black", weight=3]; 160.89/120.06 1282[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1282 -> 1297[label="",style="solid", color="black", weight=3]; 160.89/120.06 1283 -> 648[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1283[label="primRemInt vuz990 vuz970",fontsize=16,color="magenta"];1283 -> 1298[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1283 -> 1299[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1284[label="vuz97",fontsize=16,color="green",shape="box"];1285[label="vuz109",fontsize=16,color="green",shape="box"];845[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];845 -> 856[label="",style="solid", color="black", weight=3]; 160.89/120.06 846[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];846 -> 857[label="",style="solid", color="black", weight=3]; 160.89/120.06 847[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];847 -> 858[label="",style="solid", color="black", weight=3]; 160.89/120.06 848[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];848 -> 859[label="",style="solid", color="black", weight=3]; 160.89/120.06 1294[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1294 -> 1308[label="",style="solid", color="black", weight=3]; 160.89/120.06 1295[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1295 -> 1309[label="",style="solid", color="black", weight=3]; 160.89/120.06 1296[label="absReal1 (Integer (Neg (Succ vuz102000))) (not True)",fontsize=16,color="black",shape="box"];1296 -> 1310[label="",style="solid", color="black", weight=3]; 160.89/120.06 1297[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1297 -> 1311[label="",style="solid", color="black", weight=3]; 160.89/120.06 1298[label="vuz970",fontsize=16,color="green",shape="box"];1299[label="vuz990",fontsize=16,color="green",shape="box"];856 -> 1373[label="",style="dashed", color="red", weight=0]; 160.89/120.06 856[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];856 -> 1374[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 856 -> 1375[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 856 -> 1376[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 856 -> 1377[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 857[label="primModNatS0 (Succ vuz75000) Zero True",fontsize=16,color="black",shape="box"];857 -> 870[label="",style="solid", color="black", weight=3]; 160.89/120.06 858[label="primModNatS0 Zero (Succ vuz74000) False",fontsize=16,color="black",shape="box"];858 -> 871[label="",style="solid", color="black", weight=3]; 160.89/120.06 859[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];859 -> 872[label="",style="solid", color="black", weight=3]; 160.89/120.06 1308[label="absReal1 (Integer (Pos (Succ vuz102000))) (not False)",fontsize=16,color="black",shape="box"];1308 -> 1316[label="",style="solid", color="black", weight=3]; 160.89/120.06 1309[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1309 -> 1317[label="",style="solid", color="black", weight=3]; 160.89/120.06 1310[label="absReal1 (Integer (Neg (Succ vuz102000))) False",fontsize=16,color="black",shape="box"];1310 -> 1318[label="",style="solid", color="black", weight=3]; 160.89/120.06 1311[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1311 -> 1319[label="",style="solid", color="black", weight=3]; 160.89/120.06 1374[label="vuz74000",fontsize=16,color="green",shape="box"];1375[label="vuz75000",fontsize=16,color="green",shape="box"];1376[label="vuz74000",fontsize=16,color="green",shape="box"];1377[label="vuz75000",fontsize=16,color="green",shape="box"];1373[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS vuz128 vuz129)",fontsize=16,color="burlywood",shape="triangle"];1615[label="vuz128/Succ vuz1280",fontsize=10,color="white",style="solid",shape="box"];1373 -> 1615[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1615 -> 1406[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1616[label="vuz128/Zero",fontsize=10,color="white",style="solid",shape="box"];1373 -> 1616[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1616 -> 1407[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 870 -> 759[label="",style="dashed", color="red", weight=0]; 160.89/120.06 870[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];870 -> 890[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 870 -> 891[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 871[label="Succ Zero",fontsize=16,color="green",shape="box"];872 -> 759[label="",style="dashed", color="red", weight=0]; 160.89/120.06 872[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];872 -> 892[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 872 -> 893[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1316[label="absReal1 (Integer (Pos (Succ vuz102000))) True",fontsize=16,color="black",shape="box"];1316 -> 1323[label="",style="solid", color="black", weight=3]; 160.89/120.06 1317[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1318[label="absReal0 (Integer (Neg (Succ vuz102000))) otherwise",fontsize=16,color="black",shape="box"];1318 -> 1324[label="",style="solid", color="black", weight=3]; 160.89/120.06 1319[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1406[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) vuz129)",fontsize=16,color="burlywood",shape="box"];1617[label="vuz129/Succ vuz1290",fontsize=10,color="white",style="solid",shape="box"];1406 -> 1617[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1617 -> 1408[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1618[label="vuz129/Zero",fontsize=10,color="white",style="solid",shape="box"];1406 -> 1618[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1618 -> 1409[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1407[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero vuz129)",fontsize=16,color="burlywood",shape="box"];1619[label="vuz129/Succ vuz1290",fontsize=10,color="white",style="solid",shape="box"];1407 -> 1619[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1619 -> 1410[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 1620[label="vuz129/Zero",fontsize=10,color="white",style="solid",shape="box"];1407 -> 1620[label="",style="solid", color="burlywood", weight=9]; 160.89/120.06 1620 -> 1411[label="",style="solid", color="burlywood", weight=3]; 160.89/120.06 890[label="Zero",fontsize=16,color="green",shape="box"];891 -> 885[label="",style="dashed", color="red", weight=0]; 160.89/120.06 891[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];891 -> 907[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 891 -> 908[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 892[label="Zero",fontsize=16,color="green",shape="box"];893 -> 885[label="",style="dashed", color="red", weight=0]; 160.89/120.06 893[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];893 -> 909[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 893 -> 910[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1323[label="Integer (Pos (Succ vuz102000))",fontsize=16,color="green",shape="box"];1324[label="absReal0 (Integer (Neg (Succ vuz102000))) True",fontsize=16,color="black",shape="box"];1324 -> 1328[label="",style="solid", color="black", weight=3]; 160.89/120.06 1408[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) (Succ vuz1290))",fontsize=16,color="black",shape="box"];1408 -> 1412[label="",style="solid", color="black", weight=3]; 160.89/120.06 1409[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) Zero)",fontsize=16,color="black",shape="box"];1409 -> 1413[label="",style="solid", color="black", weight=3]; 160.89/120.06 1410[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero (Succ vuz1290))",fontsize=16,color="black",shape="box"];1410 -> 1414[label="",style="solid", color="black", weight=3]; 160.89/120.06 1411[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1411 -> 1415[label="",style="solid", color="black", weight=3]; 160.89/120.06 907[label="Succ vuz75000",fontsize=16,color="green",shape="box"];908[label="Zero",fontsize=16,color="green",shape="box"];909[label="Zero",fontsize=16,color="green",shape="box"];910[label="Zero",fontsize=16,color="green",shape="box"];1328 -> 71[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1328[label="`negate` Integer (Neg (Succ vuz102000))",fontsize=16,color="magenta"];1328 -> 1331[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1412 -> 1373[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1412[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS vuz1280 vuz1290)",fontsize=16,color="magenta"];1412 -> 1416[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1412 -> 1417[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1413[label="primModNatS0 (Succ vuz126) (Succ vuz127) True",fontsize=16,color="black",shape="triangle"];1413 -> 1418[label="",style="solid", color="black", weight=3]; 160.89/120.06 1414[label="primModNatS0 (Succ vuz126) (Succ vuz127) False",fontsize=16,color="black",shape="box"];1414 -> 1419[label="",style="solid", color="black", weight=3]; 160.89/120.06 1415 -> 1413[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1415[label="primModNatS0 (Succ vuz126) (Succ vuz127) True",fontsize=16,color="magenta"];1331[label="Integer (Neg (Succ vuz102000))",fontsize=16,color="green",shape="box"];1416[label="vuz1280",fontsize=16,color="green",shape="box"];1417[label="vuz1290",fontsize=16,color="green",shape="box"];1418 -> 759[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1418[label="primModNatS (primMinusNatS (Succ vuz126) (Succ vuz127)) (Succ (Succ vuz127))",fontsize=16,color="magenta"];1418 -> 1420[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1418 -> 1421[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1419[label="Succ (Succ vuz126)",fontsize=16,color="green",shape="box"];1420[label="Succ vuz127",fontsize=16,color="green",shape="box"];1421 -> 885[label="",style="dashed", color="red", weight=0]; 160.89/120.06 1421[label="primMinusNatS (Succ vuz126) (Succ vuz127)",fontsize=16,color="magenta"];1421 -> 1422[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1421 -> 1423[label="",style="dashed", color="magenta", weight=3]; 160.89/120.06 1422[label="Succ vuz126",fontsize=16,color="green",shape="box"];1423[label="Succ vuz127",fontsize=16,color="green",shape="box"];} 160.89/120.06 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (12) 160.89/120.06 Complex Obligation (AND) 160.89/120.06 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (13) 160.89/120.06 Obligation: 160.89/120.06 Q DP problem: 160.89/120.06 The TRS P consists of the following rules: 160.89/120.06 160.89/120.06 new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) 160.89/120.06 new_primDivNatS0(vuz104, vuz105, Zero, Zero) -> new_primDivNatS00(vuz104, vuz105) 160.89/120.06 new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 160.89/120.06 new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) 160.89/120.06 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS2, Zero) 160.89/120.06 new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz32000), Zero) 160.89/120.06 new_primDivNatS00(vuz104, vuz105) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 160.89/120.06 160.89/120.06 The TRS R consists of the following rules: 160.89/120.06 160.89/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 160.89/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 160.89/120.06 new_primMinusNatS1(vuz32000) -> Succ(vuz32000) 160.89/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 160.89/120.06 new_primMinusNatS2 -> Zero 160.89/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 160.89/120.06 160.89/120.06 The set Q consists of the following terms: 160.89/120.06 160.89/120.06 new_primMinusNatS0(Zero, Succ(x0)) 160.89/120.06 new_primMinusNatS0(Zero, Zero) 160.89/120.06 new_primMinusNatS2 160.89/120.06 new_primMinusNatS1(x0) 160.89/120.06 new_primMinusNatS0(Succ(x0), Zero) 160.89/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 160.89/120.06 160.89/120.06 We have to consider all minimal (P,Q,R)-chains. 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (14) DependencyGraphProof (EQUIVALENT) 160.89/120.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (15) 160.89/120.06 Complex Obligation (AND) 160.89/120.06 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (16) 160.89/120.06 Obligation: 160.89/120.06 Q DP problem: 160.89/120.06 The TRS P consists of the following rules: 160.89/120.06 160.89/120.06 new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz32000), Zero) 160.89/120.06 160.89/120.06 The TRS R consists of the following rules: 160.89/120.06 160.89/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 160.89/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 160.89/120.06 new_primMinusNatS1(vuz32000) -> Succ(vuz32000) 160.89/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 160.89/120.06 new_primMinusNatS2 -> Zero 160.89/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 160.89/120.06 160.89/120.06 The set Q consists of the following terms: 160.89/120.06 160.89/120.06 new_primMinusNatS0(Zero, Succ(x0)) 160.89/120.06 new_primMinusNatS0(Zero, Zero) 160.89/120.06 new_primMinusNatS2 160.89/120.06 new_primMinusNatS1(x0) 160.89/120.06 new_primMinusNatS0(Succ(x0), Zero) 160.89/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 160.89/120.06 160.89/120.06 We have to consider all minimal (P,Q,R)-chains. 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (17) MRRProof (EQUIVALENT) 160.89/120.06 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. 160.89/120.06 160.89/120.06 Strictly oriented dependency pairs: 160.89/120.06 160.89/120.06 new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz32000), Zero) 160.89/120.06 160.89/120.06 Strictly oriented rules of the TRS R: 160.89/120.06 160.89/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 160.89/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 160.89/120.06 new_primMinusNatS1(vuz32000) -> Succ(vuz32000) 160.89/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 160.89/120.06 new_primMinusNatS2 -> Zero 160.89/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 160.89/120.06 160.89/120.06 Used ordering: Polynomial interpretation [POLO]: 160.89/120.06 160.89/120.06 POL(Succ(x_1)) = 1 + 2*x_1 160.89/120.06 POL(Zero) = 1 160.89/120.06 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 160.89/120.06 POL(new_primMinusNatS0(x_1, x_2)) = x_1 + x_2 160.89/120.06 POL(new_primMinusNatS1(x_1)) = 2 + 2*x_1 160.89/120.06 POL(new_primMinusNatS2) = 2 160.89/120.06 160.89/120.06 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (18) 160.89/120.06 Obligation: 160.89/120.06 Q DP problem: 160.89/120.06 P is empty. 160.89/120.06 R is empty. 160.89/120.06 The set Q consists of the following terms: 160.89/120.06 160.89/120.06 new_primMinusNatS0(Zero, Succ(x0)) 160.89/120.06 new_primMinusNatS0(Zero, Zero) 160.89/120.06 new_primMinusNatS2 160.89/120.06 new_primMinusNatS1(x0) 160.89/120.06 new_primMinusNatS0(Succ(x0), Zero) 160.89/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 160.89/120.06 160.89/120.06 We have to consider all minimal (P,Q,R)-chains. 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (19) PisEmptyProof (EQUIVALENT) 160.89/120.06 The TRS P is empty. Hence, there is no (P,Q,R) chain. 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (20) 160.89/120.06 YES 160.89/120.06 160.89/120.06 ---------------------------------------- 160.89/120.06 160.89/120.06 (21) 160.89/120.06 Obligation: 160.89/120.06 Q DP problem: 160.89/120.06 The TRS P consists of the following rules: 160.89/120.06 160.89/120.06 new_primDivNatS0(vuz104, vuz105, Zero, Zero) -> new_primDivNatS00(vuz104, vuz105) 160.89/120.06 new_primDivNatS00(vuz104, vuz105) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 160.89/120.06 new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) 161.17/120.06 new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 161.17/120.06 new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS1(vuz32000) -> Succ(vuz32000) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primMinusNatS2 -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primMinusNatS2 161.17/120.06 new_primMinusNatS1(x0) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (22) QDPOrderProof (EQUIVALENT) 161.17/120.06 We use the reduction pair processor [LPAR04,JAR06]. 161.17/120.06 161.17/120.06 161.17/120.06 The following pairs can be oriented strictly and are deleted. 161.17/120.06 161.17/120.06 new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) 161.17/120.06 The remaining pairs can at least be oriented weakly. 161.17/120.06 Used ordering: Polynomial interpretation [POLO]: 161.17/120.06 161.17/120.06 POL(Succ(x_1)) = 1 + x_1 161.17/120.06 POL(Zero) = 1 161.17/120.06 POL(new_primDivNatS(x_1, x_2)) = x_1 161.17/120.06 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 161.17/120.06 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 161.17/120.06 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.17/120.06 161.17/120.06 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 161.17/120.06 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (23) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_primDivNatS0(vuz104, vuz105, Zero, Zero) -> new_primDivNatS00(vuz104, vuz105) 161.17/120.06 new_primDivNatS00(vuz104, vuz105) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 161.17/120.06 new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) 161.17/120.06 new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS1(vuz32000) -> Succ(vuz32000) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primMinusNatS2 -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primMinusNatS2 161.17/120.06 new_primMinusNatS1(x0) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (24) DependencyGraphProof (EQUIVALENT) 161.17/120.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (25) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS1(vuz32000) -> Succ(vuz32000) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primMinusNatS2 -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primMinusNatS2 161.17/120.06 new_primMinusNatS1(x0) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (26) QDPSizeChangeProof (EQUIVALENT) 161.17/120.06 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. 161.17/120.06 161.17/120.06 From the DPs we obtained the following set of size-change graphs: 161.17/120.06 *new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) 161.17/120.06 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (27) 161.17/120.06 YES 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (28) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz75, vuz74)), vuz74, vuz75) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_rem(vuz75, vuz74)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_rem(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_rem(x0, x1) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (29) TransformationProof (EQUIVALENT) 161.17/120.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz75, vuz74)), vuz74, vuz75) at position [0,0] we obtained the following new rules [LPAR04]: 161.17/120.06 161.17/120.06 (new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75),new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75)) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (30) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_rem(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_rem(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_rem(x0, x1) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (31) TransformationProof (EQUIVALENT) 161.17/120.06 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_rem(vuz75, vuz74)) at position [1] we obtained the following new rules [LPAR04]: 161.17/120.06 161.17/120.06 (new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)),new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74))) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (32) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_rem(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_rem(x0, x1) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (33) UsableRulesProof (EQUIVALENT) 161.17/120.06 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. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (34) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_rem(x0, x1) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (35) QReductionProof (EQUIVALENT) 161.17/120.06 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 161.17/120.06 161.17/120.06 new_rem(x0, x1) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (36) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (37) MNOCProof (EQUIVALENT) 161.17/120.06 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (38) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 Q is empty. 161.17/120.06 We have to consider all (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (39) InductionCalculusProof (EQUIVALENT) 161.17/120.06 Note that final constraints are written in bold face. 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 For Pair new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) the following chains were created: 161.17/120.06 *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2), new_gcd0Gcd'1(False, x4, x5) -> new_gcd0Gcd'0(x4, new_primRemInt(x5, x4)) which results in the following constraint: 161.17/120.06 161.17/120.06 (1) (new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)=new_gcd0Gcd'1(False, x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (2) (new_primRemInt(x2, x3)=x12 & new_esEs(x12)=False ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x12)=False which results in the following new constraints: 161.17/120.06 161.17/120.06 (3) (False=False & new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 161.17/120.06 161.17/120.06 (4) (False=False & new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 161.17/120.06 161.17/120.06 (5) (new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 161.17/120.06 161.17/120.06 (6) (new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x2, x3)=Pos(Succ(x13)) which results in the following new constraints: 161.17/120.06 161.17/120.06 (7) (Pos(new_primModNatS1(x16, x15))=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) 161.17/120.06 161.17/120.06 (8) (Pos(new_primModNatS1(x18, x17))=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) 161.17/120.06 161.17/120.06 (9) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x19), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x19), Neg(Zero))), Neg(Zero), Neg(x19))) 161.17/120.06 161.17/120.06 (10) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x22), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x22), Pos(Zero))), Pos(Zero), Pos(x22))) 161.17/120.06 161.17/120.06 (11) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x25), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x25), Neg(Zero))), Neg(Zero), Pos(x25))) 161.17/120.06 161.17/120.06 (12) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x26), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x26), Pos(Zero))), Pos(Zero), Neg(x26))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 161.17/120.06 161.17/120.06 (13) (new_primModNatS1(x16, x15)=Succ(x13) ==> new_gcd0Gcd'0(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (8) using rules (I), (II) which results in the following new constraint: 161.17/120.06 161.17/120.06 (14) (new_primModNatS1(x18, x17)=Succ(x13) ==> new_gcd0Gcd'0(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We solved constraint (9) using rule (V) (with possible (I) afterwards).We solved constraint (10) using rule (V) (with possible (I) afterwards).We solved constraint (11) using rule (V) (with possible (I) afterwards).We solved constraint (12) using rule (V) (with possible (I) afterwards).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x16, x15)=Succ(x13) which results in the following new constraints: 161.17/120.06 161.17/120.06 (15) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 (16) (new_primModNatS1(new_primMinusNatS0(Succ(x29), Zero), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 161.17/120.06 161.17/120.06 (17) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 (18) (new_primModNatS01(x31, x30, x31, x30)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))), Neg(Succ(Succ(x30))), Pos(Succ(Succ(x31))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 161.17/120.06 161.17/120.06 (19) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (21) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Neg(Succ(Succ(x41))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Succ(x41))))), Neg(Succ(Succ(x41))), Pos(Succ(Succ(x40))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x18, x17)=Succ(x13) which results in the following new constraints: 161.17/120.06 161.17/120.06 (23) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 (24) (new_primModNatS1(new_primMinusNatS0(Succ(x44), Zero), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x44))))) 161.17/120.06 161.17/120.06 (25) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 (26) (new_primModNatS01(x46, x45, x46, x45)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x46))), Pos(Succ(Succ(x45))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Succ(x45))))), Pos(Succ(Succ(x45))), Pos(Succ(Succ(x46))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 161.17/120.06 161.17/120.06 (27) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (28) (new_gcd0Gcd'0(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x44))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (29) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (30) (new_gcd0Gcd'0(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x55))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x2, x3)=Neg(Succ(x14)) which results in the following new constraints: 161.17/120.06 161.17/120.06 (31) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x61), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x61), Neg(Zero))), Neg(Zero), Neg(x61))) 161.17/120.06 161.17/120.06 (32) (Neg(new_primModNatS1(x63, x62))=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x63), Pos(Succ(x62)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x63), Pos(Succ(x62)))), Pos(Succ(x62)), Neg(x63))) 161.17/120.06 161.17/120.06 (33) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x64), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x64), Pos(Zero))), Pos(Zero), Pos(x64))) 161.17/120.06 161.17/120.06 (34) (Neg(new_primModNatS1(x66, x65))=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x66), Neg(Succ(x65)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x66), Neg(Succ(x65)))), Neg(Succ(x65)), Neg(x66))) 161.17/120.06 161.17/120.06 (35) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x67), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x67), Neg(Zero))), Neg(Zero), Pos(x67))) 161.17/120.06 161.17/120.06 (36) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x68), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x68), Pos(Zero))), Pos(Zero), Neg(x68))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We solved constraint (31) using rule (V) (with possible (I) afterwards).We simplified constraint (32) using rules (I), (II) which results in the following new constraint: 161.17/120.06 161.17/120.06 (37) (new_primModNatS1(x63, x62)=Succ(x14) ==> new_gcd0Gcd'0(Neg(x63), Pos(Succ(x62)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x63), Pos(Succ(x62)))), Pos(Succ(x62)), Neg(x63))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We solved constraint (33) using rule (V) (with possible (I) afterwards).We simplified constraint (34) using rules (I), (II) which results in the following new constraint: 161.17/120.06 161.17/120.06 (38) (new_primModNatS1(x66, x65)=Succ(x14) ==> new_gcd0Gcd'0(Neg(x66), Neg(Succ(x65)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x66), Neg(Succ(x65)))), Neg(Succ(x65)), Neg(x66))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We solved constraint (35) using rule (V) (with possible (I) afterwards).We solved constraint (36) using rule (V) (with possible (I) afterwards).We simplified constraint (37) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x63, x62)=Succ(x14) which results in the following new constraints: 161.17/120.06 161.17/120.06 (39) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 (40) (new_primModNatS1(new_primMinusNatS0(Succ(x71), Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x71))))) 161.17/120.06 161.17/120.06 (41) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 (42) (new_primModNatS01(x73, x72, x73, x72)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72))))), Pos(Succ(Succ(x72))), Neg(Succ(Succ(x73))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: 161.17/120.06 161.17/120.06 (43) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (44) (new_gcd0Gcd'0(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x71))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (45) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (46) (new_gcd0Gcd'0(Neg(Succ(Succ(x82))), Pos(Succ(Succ(x83))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x82))), Pos(Succ(Succ(x83))))), Pos(Succ(Succ(x83))), Neg(Succ(Succ(x82))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x66, x65)=Succ(x14) which results in the following new constraints: 161.17/120.06 161.17/120.06 (47) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))), Neg(Succ(Succ(x84))), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 (48) (new_primModNatS1(new_primMinusNatS0(Succ(x86), Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x86))))) 161.17/120.06 161.17/120.06 (49) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 (50) (new_primModNatS01(x88, x87, x88, x87)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x88))), Neg(Succ(Succ(x87))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x88))), Neg(Succ(Succ(x87))))), Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: 161.17/120.06 161.17/120.06 (51) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))), Neg(Succ(Succ(x84))), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (52) (new_gcd0Gcd'0(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x86))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (53) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: 161.17/120.06 161.17/120.06 (54) (new_gcd0Gcd'0(Neg(Succ(Succ(x97))), Neg(Succ(Succ(x98))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x97))), Neg(Succ(Succ(x98))))), Neg(Succ(Succ(x98))), Neg(Succ(Succ(x97))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 For Pair new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) the following chains were created: 161.17/120.06 *We consider the chain new_gcd0Gcd'1(False, x6, x7) -> new_gcd0Gcd'0(x6, new_primRemInt(x7, x6)), new_gcd0Gcd'0(x8, x9) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(x8, x9)), x9, x8) which results in the following constraint: 161.17/120.06 161.17/120.06 (1) (new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))=new_gcd0Gcd'0(x8, x9) ==> new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.17/120.06 161.17/120.06 (2) (new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 To summarize, we get the following constraints P__>=_ for the following pairs. 161.17/120.06 161.17/120.06 *new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))), Neg(Succ(Succ(x84))), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Neg(Succ(Succ(x41))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Succ(x41))))), Neg(Succ(Succ(x41))), Pos(Succ(Succ(x40))))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x44))))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x55))))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x71))))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Neg(Succ(Succ(x82))), Pos(Succ(Succ(x83))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x82))), Pos(Succ(Succ(x83))))), Pos(Succ(Succ(x83))), Neg(Succ(Succ(x82))))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x86))))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 161.17/120.06 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'0(Neg(Succ(Succ(x97))), Neg(Succ(Succ(x98))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x97))), Neg(Succ(Succ(x98))))), Neg(Succ(Succ(x98))), Neg(Succ(Succ(x97))))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 *new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 161.17/120.06 *(new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 161.17/120.06 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. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (40) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (41) TransformationProof (EQUIVALENT) 161.17/120.06 By narrowing [LPAR04] the rule new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) at position [0] we obtained the following new rules [LPAR04]: 161.17/120.06 161.17/120.06 (new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) 161.17/120.06 (new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) 161.17/120.06 (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0))) 161.17/120.06 (new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) 161.17/120.06 (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0))) 161.17/120.06 (new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) 161.17/120.06 (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0))) 161.17/120.06 (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0))) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (42) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (43) TransformationProof (EQUIVALENT) 161.17/120.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 161.17/120.06 161.17/120.06 (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0))) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (44) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (45) DependencyGraphProof (EQUIVALENT) 161.17/120.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (46) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (47) TransformationProof (EQUIVALENT) 161.17/120.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 161.17/120.06 161.17/120.06 (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0))) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (48) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (49) DependencyGraphProof (EQUIVALENT) 161.17/120.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (50) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (51) TransformationProof (EQUIVALENT) 161.17/120.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 161.17/120.06 161.17/120.06 (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0))) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (52) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (53) DependencyGraphProof (EQUIVALENT) 161.17/120.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (54) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (55) TransformationProof (EQUIVALENT) 161.17/120.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 161.17/120.06 161.17/120.06 (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0))) 161.17/120.06 161.17/120.06 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (56) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)) 161.17/120.06 161.17/120.06 The TRS R consists of the following rules: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.06 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.06 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.06 new_error -> error([]) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.06 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.06 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.06 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.06 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.06 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.06 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Pos(Zero)) -> True 161.17/120.06 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.06 new_esEs(Neg(Zero)) -> True 161.17/120.06 161.17/120.06 The set Q consists of the following terms: 161.17/120.06 161.17/120.06 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.06 new_error 161.17/120.06 new_primModNatS1(Succ(Zero), Zero) 161.17/120.06 new_esEs(Pos(Zero)) 161.17/120.06 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.06 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.06 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.06 new_esEs(Pos(Succ(x0))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.06 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.06 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.06 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.06 new_esEs(Neg(Succ(x0))) 161.17/120.06 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.06 new_primMinusNatS0(Zero, Zero) 161.17/120.06 new_primModNatS02(x0, x1) 161.17/120.06 new_primModNatS1(Zero, x0) 161.17/120.06 new_esEs(Neg(Zero)) 161.17/120.06 161.17/120.06 We have to consider all minimal (P,Q,R)-chains. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (57) DependencyGraphProof (EQUIVALENT) 161.17/120.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.17/120.06 ---------------------------------------- 161.17/120.06 161.17/120.06 (58) 161.17/120.06 Obligation: 161.17/120.06 Q DP problem: 161.17/120.06 The TRS P consists of the following rules: 161.17/120.06 161.17/120.06 new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.06 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.07 new_error -> error([]) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Pos(Zero)) -> True 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.07 new_error 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (59) TransformationProof (EQUIVALENT) 161.17/120.07 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) at position [1] we obtained the following new rules [LPAR04]: 161.17/120.07 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 161.17/120.07 (new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) 161.17/120.07 (new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 161.17/120.07 (new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) 161.17/120.07 (new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) 161.17/120.07 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (60) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.17/120.07 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 161.17/120.07 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 161.17/120.07 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.17/120.07 new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 161.17/120.07 new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.07 new_error -> error([]) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Pos(Zero)) -> True 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.07 new_error 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (61) DependencyGraphProof (EQUIVALENT) 161.17/120.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (62) 161.17/120.07 Complex Obligation (AND) 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (63) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.17/120.07 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.17/120.07 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.17/120.07 new_error -> error([]) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 new_esEs(Pos(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Pos(Zero)) -> True 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.07 new_error 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (64) UsableRulesProof (EQUIVALENT) 161.17/120.07 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. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (65) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.07 new_error 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (66) QReductionProof (EQUIVALENT) 161.17/120.07 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 161.17/120.07 161.17/120.07 new_primRemInt(Pos(x0), Neg(Zero)) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Zero)) 161.17/120.07 new_primRemInt(Neg(x0), Neg(Zero)) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Zero)) 161.17/120.07 new_error 161.17/120.07 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.17/120.07 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.17/120.07 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.17/120.07 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.17/120.07 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (67) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (68) TransformationProof (EQUIVALENT) 161.17/120.07 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 161.17/120.07 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero))) 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 161.17/120.07 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (69) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (70) DependencyGraphProof (EQUIVALENT) 161.17/120.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (71) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (72) TransformationProof (EQUIVALENT) 161.17/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.17/120.07 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 161.17/120.07 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (73) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (74) DependencyGraphProof (EQUIVALENT) 161.17/120.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (75) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (76) TransformationProof (EQUIVALENT) 161.17/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.17/120.07 161.17/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 161.17/120.07 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (77) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (78) TransformationProof (EQUIVALENT) 161.17/120.07 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 161.17/120.07 161.17/120.07 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 161.17/120.07 (new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) 161.17/120.07 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 161.17/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 161.17/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 161.17/120.07 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (79) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (80) DependencyGraphProof (EQUIVALENT) 161.17/120.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (81) 161.17/120.07 Complex Obligation (AND) 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (82) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.17/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.17/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (83) UsableRulesProof (EQUIVALENT) 161.17/120.07 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. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (84) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (85) QReductionProof (EQUIVALENT) 161.17/120.07 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 161.17/120.07 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.17/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.17/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.17/120.07 new_primModNatS02(x0, x1) 161.17/120.07 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (86) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.17/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.17/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.17/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.17/120.07 new_esEs(Neg(Zero)) -> True 161.17/120.07 161.17/120.07 The set Q consists of the following terms: 161.17/120.07 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.17/120.07 new_primModNatS1(Succ(Zero), Zero) 161.17/120.07 new_esEs(Pos(Zero)) 161.17/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.17/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.17/120.07 new_esEs(Pos(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.17/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.17/120.07 new_esEs(Neg(Succ(x0))) 161.17/120.07 new_primMinusNatS0(Zero, Zero) 161.17/120.07 new_primModNatS1(Zero, x0) 161.17/120.07 new_esEs(Neg(Zero)) 161.17/120.07 161.17/120.07 We have to consider all minimal (P,Q,R)-chains. 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (87) TransformationProof (EQUIVALENT) 161.17/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.17/120.07 161.17/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 161.17/120.07 161.17/120.07 161.17/120.07 ---------------------------------------- 161.17/120.07 161.17/120.07 (88) 161.17/120.07 Obligation: 161.17/120.07 Q DP problem: 161.17/120.07 The TRS P consists of the following rules: 161.17/120.07 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.17/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.17/120.07 161.17/120.07 The TRS R consists of the following rules: 161.17/120.07 161.17/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.17/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (89) TransformationProof (EQUIVALENT) 161.20/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (90) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (91) TransformationProof (EQUIVALENT) 161.20/120.07 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.20/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (92) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (93) TransformationProof (EQUIVALENT) 161.20/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (94) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (95) TransformationProof (EQUIVALENT) 161.20/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (96) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (97) DependencyGraphProof (EQUIVALENT) 161.20/120.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (98) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (99) TransformationProof (EQUIVALENT) 161.20/120.07 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 161.20/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (100) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (101) DependencyGraphProof (EQUIVALENT) 161.20/120.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (102) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (103) TransformationProof (EQUIVALENT) 161.20/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (104) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (105) TransformationProof (EQUIVALENT) 161.20/120.07 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.20/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (106) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (107) TransformationProof (EQUIVALENT) 161.20/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (108) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (109) TransformationProof (EQUIVALENT) 161.20/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (110) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (111) DependencyGraphProof (EQUIVALENT) 161.20/120.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (112) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (113) TransformationProof (EQUIVALENT) 161.20/120.07 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 161.20/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (114) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (115) DependencyGraphProof (EQUIVALENT) 161.20/120.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (116) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (117) TransformationProof (EQUIVALENT) 161.20/120.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.07 161.20/120.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 161.20/120.07 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (118) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (119) QDPSizeChangeProof (EQUIVALENT) 161.20/120.07 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 161.20/120.07 161.20/120.07 Order:Polynomial interpretation [POLO]: 161.20/120.07 161.20/120.07 POL(False) = 1 161.20/120.07 POL(Neg(x_1)) = x_1 161.20/120.07 POL(Succ(x_1)) = 1 + x_1 161.20/120.07 POL(Zero) = 1 161.20/120.07 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.20/120.07 POL(new_primModNatS1(x_1, x_2)) = x_1 161.20/120.07 161.20/120.07 161.20/120.07 161.20/120.07 161.20/120.07 From the DPs we obtained the following set of size-change graphs: 161.20/120.07 *new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 161.20/120.07 The graph contains the following edges 2 >= 2, 1 >= 3 161.20/120.07 161.20/120.07 161.20/120.07 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 161.20/120.07 The graph contains the following edges 2 >= 2, 1 >= 3 161.20/120.07 161.20/120.07 161.20/120.07 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 161.20/120.07 The graph contains the following edges 2 >= 1, 3 >= 2 161.20/120.07 161.20/120.07 161.20/120.07 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 161.20/120.07 The graph contains the following edges 2 >= 1, 3 > 2 161.20/120.07 161.20/120.07 161.20/120.07 161.20/120.07 We oriented the following set of usable rules [AAECC05,FROCOS05]. 161.20/120.07 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (120) 161.20/120.07 YES 161.20/120.07 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (121) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.07 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.07 new_esEs(Neg(Zero)) -> True 161.20/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.07 161.20/120.07 The set Q consists of the following terms: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.07 new_primModNatS1(Succ(Zero), Zero) 161.20/120.07 new_esEs(Pos(Zero)) 161.20/120.07 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.07 new_esEs(Pos(Succ(x0))) 161.20/120.07 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.07 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.07 new_esEs(Neg(Succ(x0))) 161.20/120.07 new_primMinusNatS0(Zero, Zero) 161.20/120.07 new_primModNatS02(x0, x1) 161.20/120.07 new_primModNatS1(Zero, x0) 161.20/120.07 new_esEs(Neg(Zero)) 161.20/120.07 161.20/120.07 We have to consider all minimal (P,Q,R)-chains. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (122) UsableRulesProof (EQUIVALENT) 161.20/120.07 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. 161.20/120.07 ---------------------------------------- 161.20/120.07 161.20/120.07 (123) 161.20/120.07 Obligation: 161.20/120.07 Q DP problem: 161.20/120.07 The TRS P consists of the following rules: 161.20/120.07 161.20/120.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.20/120.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.07 161.20/120.07 The TRS R consists of the following rules: 161.20/120.07 161.20/120.07 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.07 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.07 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.07 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.07 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.07 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.07 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.07 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.07 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (124) TransformationProof (EQUIVALENT) 161.20/120.08 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (125) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (126) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (127) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (128) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (129) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (130) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (131) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (132) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (133) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (134) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (135) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (136) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (137) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (138) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (139) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (140) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (141) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (142) DependencyGraphProof (EQUIVALENT) 161.20/120.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (143) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (144) TransformationProof (EQUIVALENT) 161.20/120.08 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (145) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (146) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (147) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (148) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (149) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (150) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (151) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (152) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (153) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (154) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (155) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (156) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (157) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (158) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (159) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (160) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (161) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (162) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (163) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (164) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (165) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (166) DependencyGraphProof (EQUIVALENT) 161.20/120.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (167) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (168) TransformationProof (EQUIVALENT) 161.20/120.08 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (169) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (170) DependencyGraphProof (EQUIVALENT) 161.20/120.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (171) 161.20/120.08 Complex Obligation (AND) 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (172) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (173) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (174) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (175) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (176) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (177) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (178) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (179) TransformationProof (EQUIVALENT) 161.20/120.08 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (180) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (181) TransformationProof (EQUIVALENT) 161.20/120.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (182) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (183) TransformationProof (EQUIVALENT) 161.20/120.08 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.08 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 161.20/120.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (184) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (185) DependencyGraphProof (EQUIVALENT) 161.20/120.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (186) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.08 new_esEs(Neg(Zero)) -> True 161.20/120.08 161.20/120.08 The set Q consists of the following terms: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.08 new_primModNatS1(Succ(Zero), Zero) 161.20/120.08 new_esEs(Pos(Zero)) 161.20/120.08 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.08 new_esEs(Pos(Succ(x0))) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.08 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.08 new_esEs(Neg(Succ(x0))) 161.20/120.08 new_primMinusNatS0(Zero, Zero) 161.20/120.08 new_primModNatS02(x0, x1) 161.20/120.08 new_primModNatS1(Zero, x0) 161.20/120.08 new_esEs(Neg(Zero)) 161.20/120.08 161.20/120.08 We have to consider all minimal (P,Q,R)-chains. 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (187) QDPOrderProof (EQUIVALENT) 161.20/120.08 We use the reduction pair processor [LPAR04,JAR06]. 161.20/120.08 161.20/120.08 161.20/120.08 The following pairs can be oriented strictly and are deleted. 161.20/120.08 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.20/120.08 The remaining pairs can at least be oriented weakly. 161.20/120.08 Used ordering: Polynomial interpretation [POLO]: 161.20/120.08 161.20/120.08 POL(False) = 0 161.20/120.08 POL(Neg(x_1)) = 1 + 2*x_1 161.20/120.08 POL(Succ(x_1)) = 1 + x_1 161.20/120.08 POL(True) = 3 161.20/120.08 POL(Zero) = 2 161.20/120.08 POL(new_esEs(x_1)) = 0 161.20/120.08 POL(new_gcd0Gcd'0(x_1, x_2)) = 2*x_1 + 2*x_2 161.20/120.08 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 161.20/120.08 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.20/120.08 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 161.20/120.08 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 161.20/120.08 POL(new_primModNatS1(x_1, x_2)) = x_1 161.20/120.08 161.20/120.08 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.08 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.08 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.08 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.08 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.08 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.08 161.20/120.08 161.20/120.08 ---------------------------------------- 161.20/120.08 161.20/120.08 (188) 161.20/120.08 Obligation: 161.20/120.08 Q DP problem: 161.20/120.08 The TRS P consists of the following rules: 161.20/120.08 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.20/120.08 161.20/120.08 The TRS R consists of the following rules: 161.20/120.08 161.20/120.08 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (189) DependencyGraphProof (EQUIVALENT) 161.20/120.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (190) 161.20/120.09 TRUE 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (191) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (192) TransformationProof (EQUIVALENT) 161.20/120.09 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(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]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 161.20/120.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 161.20/120.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 161.20/120.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (193) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (194) DependencyGraphProof (EQUIVALENT) 161.20/120.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (195) 161.20/120.09 Complex Obligation (AND) 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (196) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (197) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (198) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (199) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (200) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (201) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (202) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (203) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (204) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (205) QDPOrderProof (EQUIVALENT) 161.20/120.09 We use the reduction pair processor [LPAR04,JAR06]. 161.20/120.09 161.20/120.09 161.20/120.09 The following pairs can be oriented strictly and are deleted. 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.20/120.09 The remaining pairs can at least be oriented weakly. 161.20/120.09 Used ordering: Polynomial interpretation [POLO]: 161.20/120.09 161.20/120.09 POL(False) = 0 161.20/120.09 POL(Neg(x_1)) = 1 + 2*x_1 161.20/120.09 POL(Succ(x_1)) = 1 + x_1 161.20/120.09 POL(True) = 3 161.20/120.09 POL(Zero) = 0 161.20/120.09 POL(new_esEs(x_1)) = 0 161.20/120.09 POL(new_gcd0Gcd'0(x_1, x_2)) = x_1 + x_2 161.20/120.09 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_2 + x_3 161.20/120.09 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.20/120.09 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 161.20/120.09 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 161.20/120.09 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 161.20/120.09 161.20/120.09 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (206) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (207) DependencyGraphProof (EQUIVALENT) 161.20/120.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (208) 161.20/120.09 TRUE 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (209) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (210) QReductionProof (EQUIVALENT) 161.20/120.09 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 161.20/120.09 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (211) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (212) InductionCalculusProof (EQUIVALENT) 161.20/120.09 Note that final constraints are written in bold face. 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 161.20/120.09 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 161.20/120.09 161.20/120.09 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.20/120.09 161.20/120.09 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 161.20/120.09 161.20/120.09 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.20/120.09 161.20/120.09 (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 161.20/120.09 161.20/120.09 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 161.20/120.09 161.20/120.09 (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 161.20/120.09 161.20/120.09 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (4) using rule (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 161.20/120.09 161.20/120.09 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 161.20/120.09 161.20/120.09 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 161.20/120.09 161.20/120.09 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.20/120.09 161.20/120.09 (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 161.20/120.09 161.20/120.09 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 161.20/120.09 161.20/120.09 (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 161.20/120.09 161.20/120.09 (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 161.20/120.09 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 161.20/120.09 161.20/120.09 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.20/120.09 161.20/120.09 (2) (Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraint: 161.20/120.09 161.20/120.09 (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.20/120.09 161.20/120.09 (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 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: 161.20/120.09 161.20/120.09 (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.09 161.20/120.09 (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x59))))), Neg(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), x59, x58))), Neg(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))) 161.20/120.09 161.20/120.09 (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 161.20/120.09 161.20/120.09 (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 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: 161.20/120.09 161.20/120.09 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (6) using rule (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 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: 161.20/120.09 161.20/120.09 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 161.20/120.09 161.20/120.09 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 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: 161.20/120.09 161.20/120.09 (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.09 161.20/120.09 (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(Succ(x78))))=x80 & Succ(Succ(Succ(Succ(x77))))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x78)))))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(x78), Succ(x77)))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))), Neg(Succ(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 161.20/120.09 161.20/120.09 (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 161.20/120.09 161.20/120.09 (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 161.20/120.09 161.20/120.09 (21) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 161.20/120.09 161.20/120.09 (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 To summarize, we get the following constraints P__>=_ for the following pairs. 161.20/120.09 161.20/120.09 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 161.20/120.09 161.20/120.09 161.20/120.09 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 161.20/120.09 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. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (213) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (214) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 161.20/120.09 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.20/120.09 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.20/120.09 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.20/120.09 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.20/120.09 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.20/120.09 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.20/120.09 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.20/120.09 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.20/120.09 new_error -> error([]) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Neg(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primRemInt(Pos(x0), Neg(Zero)) 161.20/120.09 new_primRemInt(Neg(x0), Pos(Zero)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primRemInt(Neg(x0), Neg(Zero)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primRemInt(Pos(x0), Pos(Zero)) 161.20/120.09 new_error 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.20/120.09 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (215) UsableRulesProof (EQUIVALENT) 161.20/120.09 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. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (216) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 161.20/120.09 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primRemInt(Pos(x0), Neg(Zero)) 161.20/120.09 new_primRemInt(Neg(x0), Pos(Zero)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primRemInt(Neg(x0), Neg(Zero)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primRemInt(Pos(x0), Pos(Zero)) 161.20/120.09 new_error 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.20/120.09 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (217) QReductionProof (EQUIVALENT) 161.20/120.09 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 161.20/120.09 161.20/120.09 new_primRemInt(Pos(x0), Neg(Zero)) 161.20/120.09 new_primRemInt(Neg(x0), Pos(Zero)) 161.20/120.09 new_primRemInt(Neg(x0), Neg(Zero)) 161.20/120.09 new_primRemInt(Pos(x0), Pos(Zero)) 161.20/120.09 new_error 161.20/120.09 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.20/120.09 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.20/120.09 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.20/120.09 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (218) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 161.20/120.09 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (219) TransformationProof (EQUIVALENT) 161.20/120.09 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero))) 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (220) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (221) DependencyGraphProof (EQUIVALENT) 161.20/120.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (222) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (223) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (224) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (225) DependencyGraphProof (EQUIVALENT) 161.20/120.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (226) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (227) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (228) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (229) TransformationProof (EQUIVALENT) 161.20/120.09 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 161.20/120.09 (new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) 161.20/120.09 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 161.20/120.09 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 161.20/120.09 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (230) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (231) DependencyGraphProof (EQUIVALENT) 161.20/120.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (232) 161.20/120.09 Complex Obligation (AND) 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (233) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.09 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.09 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (234) UsableRulesProof (EQUIVALENT) 161.20/120.09 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. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (235) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (236) QReductionProof (EQUIVALENT) 161.20/120.09 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 161.20/120.09 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.09 new_primModNatS02(x0, x1) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (237) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (238) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (239) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (240) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (241) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (242) TransformationProof (EQUIVALENT) 161.20/120.09 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (243) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (244) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (245) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (246) TransformationProof (EQUIVALENT) 161.20/120.09 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.09 161.20/120.09 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 161.20/120.09 161.20/120.09 161.20/120.09 ---------------------------------------- 161.20/120.09 161.20/120.09 (247) 161.20/120.09 Obligation: 161.20/120.09 Q DP problem: 161.20/120.09 The TRS P consists of the following rules: 161.20/120.09 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.09 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.09 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 161.20/120.09 161.20/120.09 The TRS R consists of the following rules: 161.20/120.09 161.20/120.09 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.09 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.09 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.09 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.09 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.09 new_esEs(Pos(Zero)) -> True 161.20/120.09 161.20/120.09 The set Q consists of the following terms: 161.20/120.09 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.09 new_primModNatS1(Succ(Zero), Zero) 161.20/120.09 new_esEs(Pos(Zero)) 161.20/120.09 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.09 new_esEs(Pos(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.09 new_esEs(Neg(Succ(x0))) 161.20/120.09 new_primMinusNatS0(Zero, Zero) 161.20/120.09 new_primModNatS1(Zero, x0) 161.20/120.09 new_esEs(Neg(Zero)) 161.20/120.09 161.20/120.09 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (248) DependencyGraphProof (EQUIVALENT) 161.20/120.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (249) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (250) TransformationProof (EQUIVALENT) 161.20/120.10 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (251) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (252) DependencyGraphProof (EQUIVALENT) 161.20/120.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (253) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (254) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (255) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (256) TransformationProof (EQUIVALENT) 161.20/120.10 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.20/120.10 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (257) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (258) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (259) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (260) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (261) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (262) DependencyGraphProof (EQUIVALENT) 161.20/120.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (263) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (264) TransformationProof (EQUIVALENT) 161.20/120.10 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (265) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (266) DependencyGraphProof (EQUIVALENT) 161.20/120.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (267) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (268) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (269) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (270) QDPSizeChangeProof (EQUIVALENT) 161.20/120.10 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 161.20/120.10 161.20/120.10 Order:Polynomial interpretation [POLO]: 161.20/120.10 161.20/120.10 POL(False) = 1 161.20/120.10 POL(Pos(x_1)) = x_1 161.20/120.10 POL(Succ(x_1)) = 1 + x_1 161.20/120.10 POL(Zero) = 1 161.20/120.10 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.20/120.10 POL(new_primModNatS1(x_1, x_2)) = x_1 161.20/120.10 161.20/120.10 161.20/120.10 161.20/120.10 161.20/120.10 From the DPs we obtained the following set of size-change graphs: 161.20/120.10 *new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 161.20/120.10 The graph contains the following edges 2 >= 2, 1 >= 3 161.20/120.10 161.20/120.10 161.20/120.10 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 161.20/120.10 The graph contains the following edges 2 >= 2, 1 >= 3 161.20/120.10 161.20/120.10 161.20/120.10 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 161.20/120.10 The graph contains the following edges 2 >= 1, 3 >= 2 161.20/120.10 161.20/120.10 161.20/120.10 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 161.20/120.10 The graph contains the following edges 2 >= 1, 3 > 2 161.20/120.10 161.20/120.10 161.20/120.10 161.20/120.10 We oriented the following set of usable rules [AAECC05,FROCOS05]. 161.20/120.10 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (271) 161.20/120.10 YES 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (272) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (273) UsableRulesProof (EQUIVALENT) 161.20/120.10 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. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (274) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (275) TransformationProof (EQUIVALENT) 161.20/120.10 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (276) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (277) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (278) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (279) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (280) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (281) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (282) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (283) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (284) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (285) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (286) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (287) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (288) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (289) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (290) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (291) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (292) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (293) DependencyGraphProof (EQUIVALENT) 161.20/120.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (294) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (295) TransformationProof (EQUIVALENT) 161.20/120.10 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (296) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (297) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (298) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (299) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (300) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (301) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (302) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (303) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (304) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (305) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (306) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (307) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (308) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (309) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (310) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (311) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (312) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (313) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (314) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (315) TransformationProof (EQUIVALENT) 161.20/120.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.20/120.10 161.20/120.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.10 161.20/120.10 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (316) 161.20/120.10 Obligation: 161.20/120.10 Q DP problem: 161.20/120.10 The TRS P consists of the following rules: 161.20/120.10 161.20/120.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.10 161.20/120.10 The TRS R consists of the following rules: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.10 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.10 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.10 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.10 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.10 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.10 new_esEs(Pos(Zero)) -> True 161.20/120.10 161.20/120.10 The set Q consists of the following terms: 161.20/120.10 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.10 new_primModNatS1(Succ(Zero), Zero) 161.20/120.10 new_esEs(Pos(Zero)) 161.20/120.10 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.10 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.10 new_esEs(Pos(Succ(x0))) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.10 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.10 new_esEs(Neg(Succ(x0))) 161.20/120.10 new_primMinusNatS0(Zero, Zero) 161.20/120.10 new_primModNatS02(x0, x1) 161.20/120.10 new_primModNatS1(Zero, x0) 161.20/120.10 new_esEs(Neg(Zero)) 161.20/120.10 161.20/120.10 We have to consider all minimal (P,Q,R)-chains. 161.20/120.10 ---------------------------------------- 161.20/120.10 161.20/120.10 (317) DependencyGraphProof (EQUIVALENT) 161.20/120.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (318) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (319) TransformationProof (EQUIVALENT) 161.20/120.11 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (320) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (321) DependencyGraphProof (EQUIVALENT) 161.20/120.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (322) 161.20/120.11 Complex Obligation (AND) 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (323) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (324) TransformationProof (EQUIVALENT) 161.20/120.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (325) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (326) TransformationProof (EQUIVALENT) 161.20/120.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (327) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (328) TransformationProof (EQUIVALENT) 161.20/120.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (329) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (330) TransformationProof (EQUIVALENT) 161.20/120.11 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 161.20/120.11 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (331) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (332) TransformationProof (EQUIVALENT) 161.20/120.11 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (333) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (334) TransformationProof (EQUIVALENT) 161.20/120.11 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (335) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (336) DependencyGraphProof (EQUIVALENT) 161.20/120.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (337) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (338) QDPOrderProof (EQUIVALENT) 161.20/120.11 We use the reduction pair processor [LPAR04,JAR06]. 161.20/120.11 161.20/120.11 161.20/120.11 The following pairs can be oriented strictly and are deleted. 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.20/120.11 The remaining pairs can at least be oriented weakly. 161.20/120.11 Used ordering: Polynomial interpretation [POLO]: 161.20/120.11 161.20/120.11 POL(False) = 0 161.20/120.11 POL(Pos(x_1)) = 1 + 2*x_1 161.20/120.11 POL(Succ(x_1)) = 1 + x_1 161.20/120.11 POL(True) = 3 161.20/120.11 POL(Zero) = 2 161.20/120.11 POL(new_esEs(x_1)) = 0 161.20/120.11 POL(new_gcd0Gcd'0(x_1, x_2)) = 2*x_1 + 2*x_2 161.20/120.11 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 161.20/120.11 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.20/120.11 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 161.20/120.11 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 161.20/120.11 POL(new_primModNatS1(x_1, x_2)) = x_1 161.20/120.11 161.20/120.11 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (339) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (340) DependencyGraphProof (EQUIVALENT) 161.20/120.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (341) 161.20/120.11 TRUE 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (342) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (343) TransformationProof (EQUIVALENT) 161.20/120.11 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(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]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (344) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (345) DependencyGraphProof (EQUIVALENT) 161.20/120.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (346) 161.20/120.11 Complex Obligation (AND) 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (347) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (348) TransformationProof (EQUIVALENT) 161.20/120.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (349) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (350) TransformationProof (EQUIVALENT) 161.20/120.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (351) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (352) TransformationProof (EQUIVALENT) 161.20/120.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (353) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (354) TransformationProof (EQUIVALENT) 161.20/120.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (355) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (356) QDPOrderProof (EQUIVALENT) 161.20/120.11 We use the reduction pair processor [LPAR04,JAR06]. 161.20/120.11 161.20/120.11 161.20/120.11 The following pairs can be oriented strictly and are deleted. 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.20/120.11 The remaining pairs can at least be oriented weakly. 161.20/120.11 Used ordering: Polynomial interpretation [POLO]: 161.20/120.11 161.20/120.11 POL(False) = 0 161.20/120.11 POL(Pos(x_1)) = 1 + 2*x_1 161.20/120.11 POL(Succ(x_1)) = 1 + x_1 161.20/120.11 POL(True) = 3 161.20/120.11 POL(Zero) = 0 161.20/120.11 POL(new_esEs(x_1)) = 0 161.20/120.11 POL(new_gcd0Gcd'0(x_1, x_2)) = x_1 + x_2 161.20/120.11 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_2 + x_3 161.20/120.11 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.20/120.11 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 161.20/120.11 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 161.20/120.11 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 161.20/120.11 161.20/120.11 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (357) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (358) DependencyGraphProof (EQUIVALENT) 161.20/120.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (359) 161.20/120.11 TRUE 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (360) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (361) QReductionProof (EQUIVALENT) 161.20/120.11 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 161.20/120.11 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (362) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 161.20/120.11 We have to consider all (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (363) InductionCalculusProof (EQUIVALENT) 161.20/120.11 Note that final constraints are written in bold face. 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 161.20/120.11 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 161.20/120.11 161.20/120.11 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.20/120.11 161.20/120.11 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 161.20/120.11 161.20/120.11 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.20/120.11 161.20/120.11 (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 161.20/120.11 161.20/120.11 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 161.20/120.11 161.20/120.11 (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 161.20/120.11 161.20/120.11 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (4) using rule (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 161.20/120.11 161.20/120.11 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 161.20/120.11 161.20/120.11 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 161.20/120.11 161.20/120.11 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.20/120.11 161.20/120.11 (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 161.20/120.11 161.20/120.11 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 161.20/120.11 161.20/120.11 (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 161.20/120.11 161.20/120.11 (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 161.20/120.11 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 161.20/120.11 161.20/120.11 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.20/120.11 161.20/120.11 (2) (Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraint: 161.20/120.11 161.20/120.11 (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.20/120.11 161.20/120.11 (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 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: 161.20/120.11 161.20/120.11 (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.11 161.20/120.11 (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), x59, x58))), Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))) 161.20/120.11 161.20/120.11 (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 161.20/120.11 161.20/120.11 (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 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: 161.20/120.11 161.20/120.11 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (6) using rule (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 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: 161.20/120.11 161.20/120.11 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 161.20/120.11 161.20/120.11 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 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: 161.20/120.11 161.20/120.11 (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.11 161.20/120.11 (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(Succ(x78))))=x80 & Succ(Succ(Succ(Succ(x77))))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x78)))))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(x78), Succ(x77)))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))), Pos(Succ(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 161.20/120.11 161.20/120.11 (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 161.20/120.11 161.20/120.11 (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 161.20/120.11 161.20/120.11 (21) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 161.20/120.11 161.20/120.11 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 To summarize, we get the following constraints P__>=_ for the following pairs. 161.20/120.11 161.20/120.11 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 161.20/120.11 161.20/120.11 161.20/120.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 161.20/120.11 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. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (364) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.20/120.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (365) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.20/120.11 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.20/120.11 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.20/120.11 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.20/120.11 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.20/120.11 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.20/120.11 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.20/120.11 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.20/120.11 new_error -> error([]) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Neg(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primRemInt(Pos(x0), Neg(Zero)) 161.20/120.11 new_primRemInt(Neg(x0), Pos(Zero)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primRemInt(Neg(x0), Neg(Zero)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primRemInt(Pos(x0), Pos(Zero)) 161.20/120.11 new_error 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.20/120.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (366) UsableRulesProof (EQUIVALENT) 161.20/120.11 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. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (367) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Neg(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primRemInt(Pos(x0), Neg(Zero)) 161.20/120.11 new_primRemInt(Neg(x0), Pos(Zero)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primRemInt(Neg(x0), Neg(Zero)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primRemInt(Pos(x0), Pos(Zero)) 161.20/120.11 new_error 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.20/120.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (368) QReductionProof (EQUIVALENT) 161.20/120.11 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 161.20/120.11 161.20/120.11 new_primRemInt(Pos(x0), Neg(Zero)) 161.20/120.11 new_primRemInt(Neg(x0), Pos(Zero)) 161.20/120.11 new_primRemInt(Neg(x0), Neg(Zero)) 161.20/120.11 new_primRemInt(Pos(x0), Pos(Zero)) 161.20/120.11 new_error 161.20/120.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.20/120.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.20/120.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.20/120.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (369) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Neg(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (370) TransformationProof (EQUIVALENT) 161.20/120.11 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 161.20/120.11 161.20/120.11 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 161.20/120.11 (new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero))) 161.20/120.11 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.20/120.11 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.20/120.11 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 161.20/120.11 161.20/120.11 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (371) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Neg(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.11 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.11 new_esEs(Pos(Succ(x0))) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.11 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.11 new_esEs(Neg(Succ(x0))) 161.20/120.11 new_primMinusNatS0(Zero, Zero) 161.20/120.11 new_primModNatS02(x0, x1) 161.20/120.11 new_primModNatS1(Zero, x0) 161.20/120.11 new_esEs(Neg(Zero)) 161.20/120.11 161.20/120.11 We have to consider all minimal (P,Q,R)-chains. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (372) DependencyGraphProof (EQUIVALENT) 161.20/120.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.11 ---------------------------------------- 161.20/120.11 161.20/120.11 (373) 161.20/120.11 Obligation: 161.20/120.11 Q DP problem: 161.20/120.11 The TRS P consists of the following rules: 161.20/120.11 161.20/120.11 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.20/120.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.11 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.11 161.20/120.11 The TRS R consists of the following rules: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.11 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.11 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.11 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.11 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Pos(Zero)) -> True 161.20/120.11 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.11 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.11 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.11 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.11 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.11 new_esEs(Neg(Zero)) -> True 161.20/120.11 161.20/120.11 The set Q consists of the following terms: 161.20/120.11 161.20/120.11 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.11 new_primModNatS1(Succ(Zero), Zero) 161.20/120.11 new_esEs(Pos(Zero)) 161.20/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.12 new_esEs(Pos(Succ(x0))) 161.20/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.12 new_esEs(Neg(Succ(x0))) 161.20/120.12 new_primMinusNatS0(Zero, Zero) 161.20/120.12 new_primModNatS02(x0, x1) 161.20/120.12 new_primModNatS1(Zero, x0) 161.20/120.12 new_esEs(Neg(Zero)) 161.20/120.12 161.20/120.12 We have to consider all minimal (P,Q,R)-chains. 161.20/120.12 ---------------------------------------- 161.20/120.12 161.20/120.12 (374) TransformationProof (EQUIVALENT) 161.20/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.20/120.12 161.20/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 161.20/120.12 161.20/120.12 161.20/120.12 ---------------------------------------- 161.20/120.12 161.20/120.12 (375) 161.20/120.12 Obligation: 161.20/120.12 Q DP problem: 161.20/120.12 The TRS P consists of the following rules: 161.20/120.12 161.20/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.20/120.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.20/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.20/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 161.20/120.12 161.20/120.12 The TRS R consists of the following rules: 161.20/120.12 161.20/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.12 new_esEs(Pos(Zero)) -> True 161.20/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.12 new_esEs(Neg(Zero)) -> True 161.20/120.12 161.20/120.12 The set Q consists of the following terms: 161.20/120.12 161.20/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.12 new_primModNatS1(Succ(Zero), Zero) 161.20/120.12 new_esEs(Pos(Zero)) 161.20/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.12 new_esEs(Pos(Succ(x0))) 161.20/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.20/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.20/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.20/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.20/120.12 new_esEs(Neg(Succ(x0))) 161.20/120.12 new_primMinusNatS0(Zero, Zero) 161.20/120.12 new_primModNatS02(x0, x1) 161.20/120.12 new_primModNatS1(Zero, x0) 161.20/120.12 new_esEs(Neg(Zero)) 161.20/120.12 161.20/120.12 We have to consider all minimal (P,Q,R)-chains. 161.20/120.12 ---------------------------------------- 161.20/120.12 161.20/120.12 (376) DependencyGraphProof (EQUIVALENT) 161.20/120.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.20/120.12 ---------------------------------------- 161.20/120.12 161.20/120.12 (377) 161.20/120.12 Obligation: 161.20/120.12 Q DP problem: 161.20/120.12 The TRS P consists of the following rules: 161.20/120.12 161.20/120.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.20/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.20/120.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.20/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.20/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.20/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.20/120.12 161.20/120.12 The TRS R consists of the following rules: 161.20/120.12 161.20/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.20/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.20/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.20/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.20/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.20/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.20/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.20/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.20/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.20/120.12 new_esEs(Pos(Zero)) -> True 161.20/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.20/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.20/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.20/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.20/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.20/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.20/120.12 new_esEs(Neg(Zero)) -> True 161.20/120.12 161.20/120.12 The set Q consists of the following terms: 161.20/120.12 161.20/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.20/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.20/120.12 new_primModNatS1(Succ(Zero), Zero) 161.20/120.12 new_esEs(Pos(Zero)) 161.20/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.20/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.20/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.20/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.20/120.12 new_esEs(Pos(Succ(x0))) 161.20/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (378) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (379) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (380) TransformationProof (EQUIVALENT) 161.30/120.12 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 161.30/120.12 (new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) 161.30/120.12 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 161.30/120.12 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 161.30/120.12 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (381) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (382) DependencyGraphProof (EQUIVALENT) 161.30/120.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (383) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (384) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (385) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (386) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (387) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (388) TransformationProof (EQUIVALENT) 161.30/120.12 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 161.30/120.12 (new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) 161.30/120.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 161.30/120.12 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 161.30/120.12 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (389) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (390) DependencyGraphProof (EQUIVALENT) 161.30/120.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (391) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (392) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (393) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (394) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (395) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (396) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (397) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (398) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (399) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (400) DependencyGraphProof (EQUIVALENT) 161.30/120.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (401) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (402) TransformationProof (EQUIVALENT) 161.30/120.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (403) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (404) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (405) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (406) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (407) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (408) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (409) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (410) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (411) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (412) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (413) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (414) DependencyGraphProof (EQUIVALENT) 161.30/120.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (415) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (416) TransformationProof (EQUIVALENT) 161.30/120.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (417) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (418) TransformationProof (EQUIVALENT) 161.30/120.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.12 161.30/120.12 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 161.30/120.12 (new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero))) 161.30/120.12 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.30/120.12 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.30/120.12 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (419) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (420) DependencyGraphProof (EQUIVALENT) 161.30/120.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (421) 161.30/120.12 Complex Obligation (AND) 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (422) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.12 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.12 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Neg(Zero)) -> True 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (423) UsableRulesProof (EQUIVALENT) 161.30/120.12 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. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (424) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (425) QReductionProof (EQUIVALENT) 161.30/120.12 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 161.30/120.12 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.12 new_primModNatS02(x0, x1) 161.30/120.12 161.30/120.12 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (426) 161.30/120.12 Obligation: 161.30/120.12 Q DP problem: 161.30/120.12 The TRS P consists of the following rules: 161.30/120.12 161.30/120.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.12 161.30/120.12 The TRS R consists of the following rules: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.12 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.12 new_esEs(Pos(Zero)) -> True 161.30/120.12 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.12 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.12 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.12 161.30/120.12 The set Q consists of the following terms: 161.30/120.12 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.12 new_primModNatS1(Succ(Zero), Zero) 161.30/120.12 new_esEs(Pos(Zero)) 161.30/120.12 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.12 new_esEs(Pos(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.12 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.12 new_esEs(Neg(Succ(x0))) 161.30/120.12 new_primMinusNatS0(Zero, Zero) 161.30/120.12 new_primModNatS1(Zero, x0) 161.30/120.12 new_esEs(Neg(Zero)) 161.30/120.12 161.30/120.12 We have to consider all minimal (P,Q,R)-chains. 161.30/120.12 ---------------------------------------- 161.30/120.12 161.30/120.12 (427) TransformationProof (EQUIVALENT) 161.30/120.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (428) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (429) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (430) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (431) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (432) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (433) DependencyGraphProof (EQUIVALENT) 161.30/120.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (434) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (435) TransformationProof (EQUIVALENT) 161.30/120.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 161.30/120.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (436) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (437) DependencyGraphProof (EQUIVALENT) 161.30/120.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (438) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (439) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (440) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (441) TransformationProof (EQUIVALENT) 161.30/120.13 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (442) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (443) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (444) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (445) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (446) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (447) DependencyGraphProof (EQUIVALENT) 161.30/120.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (448) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (449) TransformationProof (EQUIVALENT) 161.30/120.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 161.30/120.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (450) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (451) DependencyGraphProof (EQUIVALENT) 161.30/120.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (452) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (453) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (454) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (455) QDPSizeChangeProof (EQUIVALENT) 161.30/120.13 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 161.30/120.13 161.30/120.13 Order:Polynomial interpretation [POLO]: 161.30/120.13 161.30/120.13 POL(False) = 1 161.30/120.13 POL(Neg(x_1)) = 1 161.30/120.13 POL(Pos(x_1)) = x_1 161.30/120.13 POL(Succ(x_1)) = 1 + x_1 161.30/120.13 POL(Zero) = 1 161.30/120.13 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.30/120.13 POL(new_primModNatS1(x_1, x_2)) = x_1 161.30/120.13 161.30/120.13 161.30/120.13 161.30/120.13 161.30/120.13 From the DPs we obtained the following set of size-change graphs: 161.30/120.13 *new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 161.30/120.13 The graph contains the following edges 2 >= 2, 1 >= 3 161.30/120.13 161.30/120.13 161.30/120.13 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 161.30/120.13 The graph contains the following edges 2 >= 2, 1 >= 3 161.30/120.13 161.30/120.13 161.30/120.13 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 161.30/120.13 The graph contains the following edges 2 >= 1, 3 >= 2 161.30/120.13 161.30/120.13 161.30/120.13 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 161.30/120.13 The graph contains the following edges 2 >= 1, 3 > 2 161.30/120.13 161.30/120.13 161.30/120.13 161.30/120.13 We oriented the following set of usable rules [AAECC05,FROCOS05]. 161.30/120.13 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (456) 161.30/120.13 YES 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (457) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.13 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS02(x0, x1) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (458) UsableRulesProof (EQUIVALENT) 161.30/120.13 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. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (459) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS02(x0, x1) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (460) QReductionProof (EQUIVALENT) 161.30/120.13 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 161.30/120.13 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.13 new_primModNatS02(x0, x1) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (461) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (462) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (463) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (464) TransformationProof (EQUIVALENT) 161.30/120.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (465) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (466) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (467) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (468) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (469) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (470) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (471) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (472) DependencyGraphProof (EQUIVALENT) 161.30/120.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (473) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (474) TransformationProof (EQUIVALENT) 161.30/120.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (475) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (476) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (477) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (478) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (479) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (480) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (481) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (482) DependencyGraphProof (EQUIVALENT) 161.30/120.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (483) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (484) TransformationProof (EQUIVALENT) 161.30/120.13 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.30/120.13 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (485) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (486) DependencyGraphProof (EQUIVALENT) 161.30/120.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (487) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (488) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (489) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (490) TransformationProof (EQUIVALENT) 161.30/120.13 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 161.30/120.13 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (491) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (492) DependencyGraphProof (EQUIVALENT) 161.30/120.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (493) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (494) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (495) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (496) QDPSizeChangeProof (EQUIVALENT) 161.30/120.13 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 161.30/120.13 161.30/120.13 Order:Polynomial interpretation [POLO]: 161.30/120.13 161.30/120.13 POL(False) = 1 161.30/120.13 POL(Neg(x_1)) = x_1 161.30/120.13 POL(Pos(x_1)) = 1 161.30/120.13 POL(Succ(x_1)) = 1 + x_1 161.30/120.13 POL(Zero) = 1 161.30/120.13 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.30/120.13 POL(new_primModNatS1(x_1, x_2)) = x_1 161.30/120.13 161.30/120.13 161.30/120.13 161.30/120.13 161.30/120.13 From the DPs we obtained the following set of size-change graphs: 161.30/120.13 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 161.30/120.13 The graph contains the following edges 2 >= 2, 1 >= 3 161.30/120.13 161.30/120.13 161.30/120.13 *new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 161.30/120.13 The graph contains the following edges 2 >= 2, 1 >= 3 161.30/120.13 161.30/120.13 161.30/120.13 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 161.30/120.13 The graph contains the following edges 2 >= 1, 3 > 2 161.30/120.13 161.30/120.13 161.30/120.13 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 161.30/120.13 The graph contains the following edges 2 >= 1, 3 >= 2 161.30/120.13 161.30/120.13 161.30/120.13 161.30/120.13 We oriented the following set of usable rules [AAECC05,FROCOS05]. 161.30/120.13 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (497) 161.30/120.13 YES 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (498) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.13 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS02(x0, x1) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (499) UsableRulesProof (EQUIVALENT) 161.30/120.13 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. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (500) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS02(x0, x1) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (501) TransformationProof (EQUIVALENT) 161.30/120.13 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(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]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (502) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS02(x0, x1) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (503) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (504) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 161.30/120.13 161.30/120.13 The TRS R consists of the following rules: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.13 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.13 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.13 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.13 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.13 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.13 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Pos(Zero)) -> True 161.30/120.13 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.13 new_esEs(Neg(Zero)) -> True 161.30/120.13 161.30/120.13 The set Q consists of the following terms: 161.30/120.13 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.13 new_primModNatS1(Succ(Zero), Zero) 161.30/120.13 new_esEs(Pos(Zero)) 161.30/120.13 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.13 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.13 new_esEs(Pos(Succ(x0))) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.13 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.13 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.13 new_esEs(Neg(Succ(x0))) 161.30/120.13 new_primMinusNatS0(Zero, Zero) 161.30/120.13 new_primModNatS02(x0, x1) 161.30/120.13 new_primModNatS1(Zero, x0) 161.30/120.13 new_esEs(Neg(Zero)) 161.30/120.13 161.30/120.13 We have to consider all minimal (P,Q,R)-chains. 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (505) TransformationProof (EQUIVALENT) 161.30/120.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.13 161.30/120.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 161.30/120.13 161.30/120.13 161.30/120.13 ---------------------------------------- 161.30/120.13 161.30/120.13 (506) 161.30/120.13 Obligation: 161.30/120.13 Q DP problem: 161.30/120.13 The TRS P consists of the following rules: 161.30/120.13 161.30/120.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 161.30/120.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (507) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (508) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (509) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (510) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (511) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (512) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (513) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (514) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (515) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (516) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (517) DependencyGraphProof (EQUIVALENT) 161.30/120.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (518) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (519) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (520) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (521) TransformationProof (EQUIVALENT) 161.30/120.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (522) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (523) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (524) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (525) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (526) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (527) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (528) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (529) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (530) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (531) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (532) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (533) DependencyGraphProof (EQUIVALENT) 161.30/120.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (534) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (535) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (536) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (537) TransformationProof (EQUIVALENT) 161.30/120.14 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 161.30/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 161.30/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 161.30/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (538) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (539) DependencyGraphProof (EQUIVALENT) 161.30/120.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (540) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (541) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (542) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (543) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (544) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (545) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (546) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (547) TransformationProof (EQUIVALENT) 161.30/120.14 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (548) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.30/120.14 161.30/120.14 The set Q consists of the following terms: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.30/120.14 new_primModNatS1(Succ(Zero), Zero) 161.30/120.14 new_esEs(Pos(Zero)) 161.30/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.30/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.30/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.30/120.14 new_esEs(Pos(Succ(x0))) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.30/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.30/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.30/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.30/120.14 new_esEs(Neg(Succ(x0))) 161.30/120.14 new_primMinusNatS0(Zero, Zero) 161.30/120.14 new_primModNatS02(x0, x1) 161.30/120.14 new_primModNatS1(Zero, x0) 161.30/120.14 new_esEs(Neg(Zero)) 161.30/120.14 161.30/120.14 We have to consider all minimal (P,Q,R)-chains. 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (549) TransformationProof (EQUIVALENT) 161.30/120.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.30/120.14 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 161.30/120.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 161.30/120.14 161.30/120.14 161.30/120.14 ---------------------------------------- 161.30/120.14 161.30/120.14 (550) 161.30/120.14 Obligation: 161.30/120.14 Q DP problem: 161.30/120.14 The TRS P consists of the following rules: 161.30/120.14 161.30/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.30/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 161.30/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.30/120.14 161.30/120.14 The TRS R consists of the following rules: 161.30/120.14 161.30/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.30/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.30/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.30/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.30/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.30/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.30/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Pos(Zero)) -> True 161.30/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.30/120.14 new_esEs(Neg(Zero)) -> True 161.35/120.14 161.35/120.14 The set Q consists of the following terms: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.14 new_primModNatS1(Succ(Zero), Zero) 161.35/120.14 new_esEs(Pos(Zero)) 161.35/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.14 new_esEs(Pos(Succ(x0))) 161.35/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.14 new_esEs(Neg(Succ(x0))) 161.35/120.14 new_primMinusNatS0(Zero, Zero) 161.35/120.14 new_primModNatS02(x0, x1) 161.35/120.14 new_primModNatS1(Zero, x0) 161.35/120.14 new_esEs(Neg(Zero)) 161.35/120.14 161.35/120.14 We have to consider all minimal (P,Q,R)-chains. 161.35/120.14 ---------------------------------------- 161.35/120.14 161.35/120.14 (551) DependencyGraphProof (EQUIVALENT) 161.35/120.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.14 ---------------------------------------- 161.35/120.14 161.35/120.14 (552) 161.35/120.14 Obligation: 161.35/120.14 Q DP problem: 161.35/120.14 The TRS P consists of the following rules: 161.35/120.14 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.14 161.35/120.14 The TRS R consists of the following rules: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.14 new_esEs(Pos(Zero)) -> True 161.35/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.14 new_esEs(Neg(Zero)) -> True 161.35/120.14 161.35/120.14 The set Q consists of the following terms: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.14 new_primModNatS1(Succ(Zero), Zero) 161.35/120.14 new_esEs(Pos(Zero)) 161.35/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.14 new_esEs(Pos(Succ(x0))) 161.35/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.14 new_esEs(Neg(Succ(x0))) 161.35/120.14 new_primMinusNatS0(Zero, Zero) 161.35/120.14 new_primModNatS02(x0, x1) 161.35/120.14 new_primModNatS1(Zero, x0) 161.35/120.14 new_esEs(Neg(Zero)) 161.35/120.14 161.35/120.14 We have to consider all minimal (P,Q,R)-chains. 161.35/120.14 ---------------------------------------- 161.35/120.14 161.35/120.14 (553) TransformationProof (EQUIVALENT) 161.35/120.14 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.14 161.35/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 161.35/120.14 161.35/120.14 161.35/120.14 ---------------------------------------- 161.35/120.14 161.35/120.14 (554) 161.35/120.14 Obligation: 161.35/120.14 Q DP problem: 161.35/120.14 The TRS P consists of the following rules: 161.35/120.14 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.14 161.35/120.14 The TRS R consists of the following rules: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.14 new_esEs(Pos(Zero)) -> True 161.35/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.14 new_esEs(Neg(Zero)) -> True 161.35/120.14 161.35/120.14 The set Q consists of the following terms: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.14 new_primModNatS1(Succ(Zero), Zero) 161.35/120.14 new_esEs(Pos(Zero)) 161.35/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.14 new_esEs(Pos(Succ(x0))) 161.35/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.14 new_esEs(Neg(Succ(x0))) 161.35/120.14 new_primMinusNatS0(Zero, Zero) 161.35/120.14 new_primModNatS02(x0, x1) 161.35/120.14 new_primModNatS1(Zero, x0) 161.35/120.14 new_esEs(Neg(Zero)) 161.35/120.14 161.35/120.14 We have to consider all minimal (P,Q,R)-chains. 161.35/120.14 ---------------------------------------- 161.35/120.14 161.35/120.14 (555) DependencyGraphProof (EQUIVALENT) 161.35/120.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.14 ---------------------------------------- 161.35/120.14 161.35/120.14 (556) 161.35/120.14 Obligation: 161.35/120.14 Q DP problem: 161.35/120.14 The TRS P consists of the following rules: 161.35/120.14 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.14 161.35/120.14 The TRS R consists of the following rules: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.14 new_esEs(Pos(Zero)) -> True 161.35/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.14 new_esEs(Neg(Zero)) -> True 161.35/120.14 161.35/120.14 The set Q consists of the following terms: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.14 new_primModNatS1(Succ(Zero), Zero) 161.35/120.14 new_esEs(Pos(Zero)) 161.35/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.14 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.14 new_esEs(Pos(Succ(x0))) 161.35/120.14 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.14 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.14 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.14 new_esEs(Neg(Succ(x0))) 161.35/120.14 new_primMinusNatS0(Zero, Zero) 161.35/120.14 new_primModNatS02(x0, x1) 161.35/120.14 new_primModNatS1(Zero, x0) 161.35/120.14 new_esEs(Neg(Zero)) 161.35/120.14 161.35/120.14 We have to consider all minimal (P,Q,R)-chains. 161.35/120.14 ---------------------------------------- 161.35/120.14 161.35/120.14 (557) TransformationProof (EQUIVALENT) 161.35/120.14 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.14 161.35/120.14 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 161.35/120.14 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 161.35/120.14 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 161.35/120.14 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 161.35/120.14 161.35/120.14 161.35/120.14 ---------------------------------------- 161.35/120.14 161.35/120.14 (558) 161.35/120.14 Obligation: 161.35/120.14 Q DP problem: 161.35/120.14 The TRS P consists of the following rules: 161.35/120.14 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.35/120.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 161.35/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.14 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.14 161.35/120.14 The TRS R consists of the following rules: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.14 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.14 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.14 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.14 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.14 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.14 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.14 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.14 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.14 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.14 new_esEs(Pos(Zero)) -> True 161.35/120.14 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.14 new_esEs(Neg(Zero)) -> True 161.35/120.14 161.35/120.14 The set Q consists of the following terms: 161.35/120.14 161.35/120.14 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.14 new_primModNatS1(Succ(Zero), Zero) 161.35/120.14 new_esEs(Pos(Zero)) 161.35/120.14 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (559) DependencyGraphProof (EQUIVALENT) 161.35/120.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (560) 161.35/120.15 Complex Obligation (AND) 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (561) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (562) UsableRulesProof (EQUIVALENT) 161.35/120.15 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. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (563) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (564) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (565) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (566) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (567) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (568) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (569) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (570) TransformationProof (EQUIVALENT) 161.35/120.15 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 161.35/120.15 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (571) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (572) DependencyGraphProof (EQUIVALENT) 161.35/120.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (573) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (574) TransformationProof (EQUIVALENT) 161.35/120.15 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (575) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (576) DependencyGraphProof (EQUIVALENT) 161.35/120.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (577) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (578) InductionCalculusProof (EQUIVALENT) 161.35/120.15 Note that final constraints are written in bold face. 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 161.35/120.15 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x2, Zero, x2, Zero))) which results in the following constraint: 161.35/120.15 161.35/120.15 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (2) (Pos(new_primModNatS01(x1, Zero, x1, Zero))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: 161.35/120.15 161.35/120.15 (3) (False=False & Pos(new_primModNatS01(x1, Zero, x1, Zero))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (4) (Zero=x22 & x1=x23 & Zero=x24 & new_primModNatS01(x1, x22, x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1, x22, x23, x24)=Succ(x21) which results in the following new constraints: 161.35/120.15 161.35/120.15 (5) (new_primModNatS02(x26, x25)=Succ(x21) & Zero=x25 & x26=Zero & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x26, Zero, x26, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x26))))))) 161.35/120.15 161.35/120.15 (6) (new_primModNatS01(x30, x29, x28, x27)=Succ(x21) & Zero=x29 & x30=Succ(x28) & Zero=Succ(x27) & (\/x31:new_primModNatS01(x30, x29, x28, x27)=Succ(x31) & Zero=x29 & x30=x28 & Zero=x27 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) 161.35/120.15 161.35/120.15 (7) (new_primModNatS02(x34, x33)=Succ(x21) & Zero=x33 & x34=Succ(x32) & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x34, Zero, x34, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x34))))))) 161.35/120.15 161.35/120.15 (8) (Succ(Succ(x37))=Succ(x21) & Zero=x36 & x37=Zero & Zero=Succ(x35) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x37))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x37, Zero, x37, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x37))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (9) (Zero=x38 & new_primModNatS02(x38, x25)=Succ(x21) & Zero=x25 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (10) (Succ(x32)=x45 & new_primModNatS02(x45, x33)=Succ(x21) & Zero=x33 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x38, x25)=Succ(x21) which results in the following new constraint: 161.35/120.15 161.35/120.15 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x40), Succ(x39)), Succ(x39))=Succ(x21) & Zero=x40 & Zero=x39 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x45, x33)=Succ(x21) which results in the following new constraint: 161.35/120.15 161.35/120.15 (13) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(x21) & Succ(x32)=x47 & Zero=x46 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 161.35/120.15 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero))), new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 161.35/120.15 161.35/120.15 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))=new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (2) (Zero=x52 & x7=x53 & Zero=x54 & new_primModNatS01(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) which results in the following new constraints: 161.35/120.15 161.35/120.15 (3) (new_primModNatS02(x56, x55)=Succ(Succ(Succ(x8))) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x56))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x56, Zero, x56, Zero)))) 161.35/120.15 161.35/120.15 (4) (new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x8))) & Zero=x59 & x60=Succ(x58) & Zero=Succ(x57) & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x61))) & Zero=x59 & x60=x58 & Zero=x57 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) 161.35/120.15 161.35/120.15 (5) (new_primModNatS02(x64, x63)=Succ(Succ(Succ(x8))) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x64, Zero, x64, Zero)))) 161.35/120.15 161.35/120.15 (6) (Succ(Succ(x67))=Succ(Succ(Succ(x8))) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x67, Zero, x67, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (7) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(Succ(Succ(x8))) & Zero=x55 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 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: 161.35/120.15 161.35/120.15 (8) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(Succ(Succ(x8))) & Zero=x63 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x68, x55)=Succ(Succ(Succ(x8))) which results in the following new constraint: 161.35/120.15 161.35/120.15 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x70), Succ(x69)), Succ(x69))=Succ(Succ(Succ(x8))) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x75, x63)=Succ(Succ(Succ(x8))) which results in the following new constraint: 161.35/120.15 161.35/120.15 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 161.35/120.15 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 161.35/120.15 161.35/120.15 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.15 161.35/120.15 (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 161.35/120.15 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x16, Zero, x16, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: 161.35/120.15 161.35/120.15 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.15 161.35/120.15 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 To summarize, we get the following constraints P__>=_ for the following pairs. 161.35/120.15 161.35/120.15 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.15 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 *new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 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. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (579) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (580) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (581) UsableRulesProof (EQUIVALENT) 161.35/120.15 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. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (582) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (583) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (584) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (585) UsableRulesProof (EQUIVALENT) 161.35/120.15 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. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (586) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (587) InductionCalculusProof (EQUIVALENT) 161.35/120.15 Note that final constraints are written in bold face. 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 161.35/120.15 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero))), new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x4)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 161.35/120.15 161.35/120.15 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))=new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (2) (Zero=x20 & x3=x21 & Zero=x22 & new_primModNatS01(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) which results in the following new constraints: 161.35/120.15 161.35/120.15 (3) (new_primModNatS02(x24, x23)=Succ(Succ(Succ(x4))) & Zero=x23 & x24=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x24))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x24, Zero, x24, Zero)))) 161.35/120.15 161.35/120.15 (4) (new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x4))) & Zero=x27 & x28=Succ(x26) & Zero=Succ(x25) & (\/x29:new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x29))) & Zero=x27 & x28=x26 & Zero=x25 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) 161.35/120.15 161.35/120.15 (5) (new_primModNatS02(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Succ(x30) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x32, Zero, x32, Zero)))) 161.35/120.15 161.35/120.15 (6) (Succ(Succ(x35))=Succ(Succ(Succ(x4))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x35, Zero, x35, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (7) (Zero=x36 & new_primModNatS02(x36, x23)=Succ(Succ(Succ(x4))) & Zero=x23 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 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: 161.35/120.15 161.35/120.15 (8) (Succ(x30)=x43 & new_primModNatS02(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x36, x23)=Succ(Succ(Succ(x4))) which results in the following new constraint: 161.35/120.15 161.35/120.15 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Zero=x38 & Zero=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x43, x31)=Succ(Succ(Succ(x4))) which results in the following new constraint: 161.35/120.15 161.35/120.15 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Succ(x30)=x45 & Zero=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 161.35/120.15 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x8, Zero, x8, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 161.35/120.15 161.35/120.15 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.15 161.35/120.15 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 161.35/120.15 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x11, Zero, x11, Zero))) which results in the following constraint: 161.35/120.15 161.35/120.15 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (2) (Neg(new_primModNatS01(x10, Zero, x10, Zero))=x50 & new_esEs(x50)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x50)=False which results in the following new constraint: 161.35/120.15 161.35/120.15 (3) (False=False & Neg(new_primModNatS01(x10, Zero, x10, Zero))=Neg(Succ(x51)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (4) (Zero=x52 & x10=x53 & Zero=x54 & new_primModNatS01(x10, x52, x53, x54)=Succ(x51) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x10, x52, x53, x54)=Succ(x51) which results in the following new constraints: 161.35/120.15 161.35/120.15 (5) (new_primModNatS02(x56, x55)=Succ(x51) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x56))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x56, Zero, x56, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x56))))))) 161.35/120.15 161.35/120.15 (6) (new_primModNatS01(x60, x59, x58, x57)=Succ(x51) & Zero=x59 & x60=Succ(x58) & Zero=Succ(x57) & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(x61) & Zero=x59 & x60=x58 & Zero=x57 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) 161.35/120.15 161.35/120.15 (7) (new_primModNatS02(x64, x63)=Succ(x51) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x64, Zero, x64, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x64))))))) 161.35/120.15 161.35/120.15 (8) (Succ(Succ(x67))=Succ(x51) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x67))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x67, Zero, x67, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (9) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(x51) & Zero=x55 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (10) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(x51) & Zero=x63 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x68, x55)=Succ(x51) which results in the following new constraint: 161.35/120.15 161.35/120.15 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x70), Succ(x69)), Succ(x69))=Succ(x51) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x75, x63)=Succ(x51) which results in the following new constraint: 161.35/120.15 161.35/120.15 (13) (new_primModNatS1(new_primMinusNatS0(Succ(x77), Succ(x76)), Succ(x76))=Succ(x51) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.15 161.35/120.15 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 161.35/120.15 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 161.35/120.15 161.35/120.15 (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.15 161.35/120.15 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 To summarize, we get the following constraints P__>=_ for the following pairs. 161.35/120.15 161.35/120.15 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.15 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 *new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 *(new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 161.35/120.15 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. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (588) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (589) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (590) TransformationProof (EQUIVALENT) 161.35/120.15 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (591) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (592) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (593) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (594) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (595) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (596) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (597) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (598) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (599) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (600) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (601) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (602) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (603) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (604) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (605) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.15 new_esEs(Neg(Succ(x0))) 161.35/120.15 new_primMinusNatS0(Zero, Zero) 161.35/120.15 new_primModNatS02(x0, x1) 161.35/120.15 new_primModNatS1(Zero, x0) 161.35/120.15 new_esEs(Neg(Zero)) 161.35/120.15 161.35/120.15 We have to consider all minimal (P,Q,R)-chains. 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (606) TransformationProof (EQUIVALENT) 161.35/120.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.15 161.35/120.15 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.15 161.35/120.15 161.35/120.15 ---------------------------------------- 161.35/120.15 161.35/120.15 (607) 161.35/120.15 Obligation: 161.35/120.15 Q DP problem: 161.35/120.15 The TRS P consists of the following rules: 161.35/120.15 161.35/120.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.15 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.15 161.35/120.15 The TRS R consists of the following rules: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.15 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.15 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.15 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.15 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.15 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.15 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Pos(Zero)) -> True 161.35/120.15 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.15 new_esEs(Neg(Zero)) -> True 161.35/120.15 161.35/120.15 The set Q consists of the following terms: 161.35/120.15 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.15 new_primModNatS1(Succ(Zero), Zero) 161.35/120.15 new_esEs(Pos(Zero)) 161.35/120.15 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.15 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.15 new_esEs(Pos(Succ(x0))) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.15 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.15 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (608) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (609) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (610) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (611) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (612) DependencyGraphProof (EQUIVALENT) 161.35/120.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (613) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (614) TransformationProof (EQUIVALENT) 161.35/120.16 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (615) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (616) DependencyGraphProof (EQUIVALENT) 161.35/120.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (617) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (618) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (619) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (620) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (621) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (622) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (623) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (624) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (625) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (626) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (627) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (628) TransformationProof (EQUIVALENT) 161.35/120.16 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(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]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 161.35/120.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 161.35/120.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 161.35/120.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (629) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (630) DependencyGraphProof (EQUIVALENT) 161.35/120.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (631) 161.35/120.16 Complex Obligation (AND) 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (632) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (633) UsableRulesProof (EQUIVALENT) 161.35/120.16 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. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (634) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (635) InductionCalculusProof (EQUIVALENT) 161.35/120.16 Note that final constraints are written in bold face. 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: 161.35/120.16 161.35/120.16 (3) (False=False & Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (4) (Succ(x13)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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: 161.35/120.16 161.35/120.16 (5) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 (6) (new_primModNatS01(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (7) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (8) (x26=x28 & x25=x29 & new_primModNatS01(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: 161.35/120.16 161.35/120.16 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x31)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x31)))))))) 161.35/120.16 161.35/120.16 (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) 161.35/120.16 161.35/120.16 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x39)))))))) 161.35/120.16 161.35/120.16 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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: 161.35/120.16 161.35/120.16 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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: 161.35/120.16 161.35/120.16 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (Succ(x15)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: 161.35/120.16 161.35/120.16 (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 (4) (new_primModNatS01(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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: 161.35/120.16 161.35/120.16 (5) (x49=x51 & x48=x52 & new_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: 161.35/120.16 161.35/120.16 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x16)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x16)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 To summarize, we get the following constraints P__>=_ for the following pairs. 161.35/120.16 161.35/120.16 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.16 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.16 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (636) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (637) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (638) UsableRulesProof (EQUIVALENT) 161.35/120.16 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. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (639) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (640) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (641) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (642) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (643) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (644) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (645) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (646) TransformationProof (EQUIVALENT) 161.35/120.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 161.35/120.16 161.35/120.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (647) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (648) InductionCalculusProof (EQUIVALENT) 161.35/120.16 Note that final constraints are written in bold face. 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: 161.35/120.16 161.35/120.16 (3) (False=False & Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (4) (Succ(x13)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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: 161.35/120.16 161.35/120.16 (5) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 (6) (new_primModNatS01(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (7) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (8) (x26=x28 & x25=x29 & new_primModNatS01(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x26)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x26)))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: 161.35/120.16 161.35/120.16 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x31)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x31)))))))) 161.35/120.16 161.35/120.16 (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) 161.35/120.16 161.35/120.16 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x39)))))))) 161.35/120.16 161.35/120.16 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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: 161.35/120.16 161.35/120.16 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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: 161.35/120.16 161.35/120.16 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (Succ(x15)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: 161.35/120.16 161.35/120.16 (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 (4) (new_primModNatS01(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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: 161.35/120.16 161.35/120.16 (5) (x49=x51 & x48=x52 & new_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: 161.35/120.16 161.35/120.16 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x16)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x16)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 To summarize, we get the following constraints P__>=_ for the following pairs. 161.35/120.16 161.35/120.16 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.16 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.16 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 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. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (649) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (650) 161.35/120.16 Obligation: 161.35/120.16 Q DP problem: 161.35/120.16 The TRS P consists of the following rules: 161.35/120.16 161.35/120.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.16 161.35/120.16 The TRS R consists of the following rules: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.16 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.16 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.16 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.16 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.16 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.16 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Pos(Zero)) -> True 161.35/120.16 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.16 new_esEs(Neg(Zero)) -> True 161.35/120.16 161.35/120.16 The set Q consists of the following terms: 161.35/120.16 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.16 new_primModNatS1(Succ(Zero), Zero) 161.35/120.16 new_esEs(Pos(Zero)) 161.35/120.16 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.16 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.16 new_esEs(Pos(Succ(x0))) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.16 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.16 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.16 new_esEs(Neg(Succ(x0))) 161.35/120.16 new_primMinusNatS0(Zero, Zero) 161.35/120.16 new_primModNatS02(x0, x1) 161.35/120.16 new_primModNatS1(Zero, x0) 161.35/120.16 new_esEs(Neg(Zero)) 161.35/120.16 161.35/120.16 We have to consider all minimal (P,Q,R)-chains. 161.35/120.16 ---------------------------------------- 161.35/120.16 161.35/120.16 (651) InductionCalculusProof (EQUIVALENT) 161.35/120.16 Note that final constraints are written in bold face. 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (Succ(Succ(x3))=x40 & Succ(Succ(x2))=x41 & new_primModNatS01(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 161.35/120.16 161.35/120.16 (3) (new_primModNatS02(x43, x42)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x43 & Succ(Succ(Zero))=x42 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.35/120.16 161.35/120.16 (4) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 & (\/x48:new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x48)))) & Succ(Succ(x45))=x47 & Succ(Succ(x44))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x44))))), Neg(Succ(Succ(Succ(Succ(x45))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x44))))), Neg(new_primModNatS01(Succ(Succ(x45)), Succ(Succ(x44)), x45, x44)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) 161.35/120.16 161.35/120.16 (5) (new_primModNatS02(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x51 & Succ(Succ(Zero))=x50 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 161.35/120.16 161.35/120.16 (6) (Succ(Succ(x54))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x54 & Succ(Succ(Succ(x52)))=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x43, x42)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 161.35/120.16 161.35/120.16 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x56), Succ(x55)), Succ(x55))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x56 & Succ(Succ(Zero))=x55 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (4) using rule (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (8) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x51, x50)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 161.35/120.16 161.35/120.16 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x75), Succ(x74)), Succ(x74))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x75 & Succ(Succ(Zero))=x74 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 161.35/120.16 161.35/120.16 (12) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x62 & Succ(Succ(Succ(Zero)))=x61 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.35/120.16 161.35/120.16 (13) (new_primModNatS01(x66, x65, x64, x63)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x64))))=x66 & Succ(Succ(Succ(Succ(x63))))=x65 & (\/x67:new_primModNatS01(x66, x65, x64, x63)=Succ(Succ(Succ(Succ(x67)))) & Succ(Succ(Succ(x64)))=x66 & Succ(Succ(Succ(x63)))=x65 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x64))), Succ(Succ(Succ(x63))), Succ(x64), Succ(x63))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) 161.35/120.16 161.35/120.16 (14) (new_primModNatS02(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x68))))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 161.35/120.16 161.35/120.16 (15) (Succ(Succ(x73))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x73 & Succ(Succ(Succ(Succ(x71))))=x72 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.35/120.16 161.35/120.16 (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 161.35/120.16 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: 161.35/120.16 161.35/120.16 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (2) (Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=x80 & new_esEs(x80)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x80)=False which results in the following new constraints: 161.35/120.16 161.35/120.16 (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Succ(x81)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 161.35/120.16 161.35/120.16 (4) (False=False & Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Succ(x82)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.16 161.35/120.16 (5) (Succ(Succ(x14))=x83 & Succ(Succ(x15))=x84 & new_primModNatS01(x83, x84, x14, x15)=Succ(x81) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x83, x84, x14, x15)=Succ(x81) which results in the following new constraints: 161.35/120.16 161.35/120.16 (6) (new_primModNatS02(x86, x85)=Succ(x81) & Succ(Succ(Zero))=x86 & Succ(Succ(Zero))=x85 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.16 161.35/120.16 (7) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 & (\/x91:new_primModNatS01(x90, x89, x88, x87)=Succ(x91) & Succ(Succ(x88))=x90 & Succ(Succ(x87))=x89 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x88))))), Neg(Succ(Succ(Succ(Succ(x87))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x88)), Succ(Succ(x87)), x88, x87))), Neg(Succ(Succ(Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(x88))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x88))), Succ(Succ(Succ(x87))), Succ(x88), Succ(x87)))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))), Pos(Succ(Succ(Succ(Succ(Succ(x88)))))))) 161.35/120.16 161.35/120.16 (8) (new_primModNatS02(x94, x93)=Succ(x81) & Succ(Succ(Succ(x92)))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 161.35/120.16 161.35/120.16 (9) (Succ(Succ(x97))=Succ(x81) & Succ(Succ(Zero))=x97 & Succ(Succ(Succ(x95)))=x96 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x86, x85)=Succ(x81) which results in the following new constraint: 161.35/120.16 161.35/120.16 (10) (new_primModNatS1(new_primMinusNatS0(Succ(x99), Succ(x98)), Succ(x98))=Succ(x81) & Succ(Succ(Zero))=x99 & Succ(Succ(Zero))=x98 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.16 161.35/120.16 161.35/120.16 161.35/120.16 We simplified constraint (7) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (11) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x88))), Succ(Succ(Succ(x87))), Succ(x88), Succ(x87)))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))), Pos(Succ(Succ(Succ(Succ(Succ(x88)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x94, x93)=Succ(x81) which results in the following new constraint: 161.35/120.17 161.35/120.17 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x118), Succ(x117)), Succ(x117))=Succ(x81) & Succ(Succ(Succ(x92)))=x118 & Succ(Succ(Zero))=x117 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x90, x89, x88, x87)=Succ(x81) which results in the following new constraints: 161.35/120.17 161.35/120.17 (15) (new_primModNatS02(x105, x104)=Succ(x81) & Succ(Succ(Succ(Zero)))=x105 & Succ(Succ(Succ(Zero)))=x104 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 (16) (new_primModNatS01(x109, x108, x107, x106)=Succ(x81) & Succ(Succ(Succ(Succ(x107))))=x109 & Succ(Succ(Succ(Succ(x106))))=x108 & (\/x110:new_primModNatS01(x109, x108, x107, x106)=Succ(x110) & Succ(Succ(Succ(x107)))=x109 & Succ(Succ(Succ(x106)))=x108 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x107)))))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x107))), Succ(Succ(Succ(x106))), Succ(x107), Succ(x106)))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))), Pos(Succ(Succ(Succ(Succ(Succ(x107)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) 161.35/120.17 161.35/120.17 (17) (new_primModNatS02(x113, x112)=Succ(x81) & Succ(Succ(Succ(Succ(x111))))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) 161.35/120.17 161.35/120.17 (18) (Succ(Succ(x116))=Succ(x81) & Succ(Succ(Succ(Zero)))=x116 & Succ(Succ(Succ(Succ(x114))))=x115 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (21) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (23) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 161.35/120.17 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x28)), Succ(Succ(x29)), x28, x29))), Pos(Succ(Succ(Succ(Succ(x29))))), Neg(Succ(Succ(Succ(Succ(x28)))))) which results in the following constraint: 161.35/120.17 161.35/120.17 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (2) (Succ(Succ(x27))=x123 & Succ(Succ(x26))=x124 & new_primModNatS01(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: 161.35/120.17 161.35/120.17 (3) (new_primModNatS02(x126, x125)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x126 & Succ(Succ(Zero))=x125 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.35/120.17 161.35/120.17 (4) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 & (\/x131:new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x131)))) & Succ(Succ(x128))=x130 & Succ(Succ(x127))=x129 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x127))))), Pos(Succ(Succ(Succ(Succ(x128))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x127))))), Pos(new_primModNatS01(Succ(Succ(x128)), Succ(Succ(x127)), x128, x127)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) 161.35/120.17 161.35/120.17 (5) (new_primModNatS02(x134, x133)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x134 & Succ(Succ(Zero))=x133 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 161.35/120.17 161.35/120.17 (6) (Succ(Succ(x137))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x137 & Succ(Succ(Succ(x135)))=x136 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x126, x125)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: 161.35/120.17 161.35/120.17 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x139), Succ(x138)), Succ(x138))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x139 & Succ(Succ(Zero))=x138 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (4) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (8) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x134, x133)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: 161.35/120.17 161.35/120.17 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x158), Succ(x157)), Succ(x157))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x158 & Succ(Succ(Zero))=x157 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: 161.35/120.17 161.35/120.17 (12) (new_primModNatS02(x145, x144)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x145 & Succ(Succ(Succ(Zero)))=x144 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.35/120.17 161.35/120.17 (13) (new_primModNatS01(x149, x148, x147, x146)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x147))))=x149 & Succ(Succ(Succ(Succ(x146))))=x148 & (\/x150:new_primModNatS01(x149, x148, x147, x146)=Succ(Succ(Succ(Succ(x150)))) & Succ(Succ(Succ(x147)))=x149 & Succ(Succ(Succ(x146)))=x148 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(Succ(Succ(Succ(Succ(Succ(x147)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x147))), Succ(Succ(Succ(x146))), Succ(x147), Succ(x146))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) 161.35/120.17 161.35/120.17 (14) (new_primModNatS02(x153, x152)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x151))))=x153 & Succ(Succ(Succ(Zero)))=x152 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 161.35/120.17 161.35/120.17 (15) (Succ(Succ(x156))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x156 & Succ(Succ(Succ(Succ(x154))))=x155 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 161.35/120.17 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x32))))), Neg(new_primModNatS01(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: 161.35/120.17 161.35/120.17 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (2) (Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=x163 & new_esEs(x163)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x163)=False which results in the following new constraints: 161.35/120.17 161.35/120.17 (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Succ(x164)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 161.35/120.17 161.35/120.17 (4) (False=False & Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Succ(x165)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (5) (Succ(Succ(x30))=x166 & Succ(Succ(x31))=x167 & new_primModNatS01(x166, x167, x30, x31)=Succ(x165) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x166, x167, x30, x31)=Succ(x165) which results in the following new constraints: 161.35/120.17 161.35/120.17 (6) (new_primModNatS02(x169, x168)=Succ(x165) & Succ(Succ(Zero))=x169 & Succ(Succ(Zero))=x168 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 (7) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 & (\/x174:new_primModNatS01(x173, x172, x171, x170)=Succ(x174) & Succ(Succ(x171))=x173 & Succ(Succ(x170))=x172 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x171))))), Pos(Succ(Succ(Succ(Succ(x170))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x171)), Succ(Succ(x170)), x171, x170))), Pos(Succ(Succ(Succ(Succ(x170))))), Neg(Succ(Succ(Succ(Succ(x171))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x171))), Succ(Succ(Succ(x170))), Succ(x171), Succ(x170)))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))), Neg(Succ(Succ(Succ(Succ(Succ(x171)))))))) 161.35/120.17 161.35/120.17 (8) (new_primModNatS02(x177, x176)=Succ(x165) & Succ(Succ(Succ(x175)))=x177 & Succ(Succ(Zero))=x176 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 161.35/120.17 161.35/120.17 (9) (Succ(Succ(x180))=Succ(x165) & Succ(Succ(Zero))=x180 & Succ(Succ(Succ(x178)))=x179 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x169, x168)=Succ(x165) which results in the following new constraint: 161.35/120.17 161.35/120.17 (10) (new_primModNatS1(new_primMinusNatS0(Succ(x182), Succ(x181)), Succ(x181))=Succ(x165) & Succ(Succ(Zero))=x182 & Succ(Succ(Zero))=x181 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (7) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (11) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x171))), Succ(Succ(Succ(x170))), Succ(x171), Succ(x170)))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))), Neg(Succ(Succ(Succ(Succ(Succ(x171)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x177, x176)=Succ(x165) which results in the following new constraint: 161.35/120.17 161.35/120.17 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x201), Succ(x200)), Succ(x200))=Succ(x165) & Succ(Succ(Succ(x175)))=x201 & Succ(Succ(Zero))=x200 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x173, x172, x171, x170)=Succ(x165) which results in the following new constraints: 161.35/120.17 161.35/120.17 (15) (new_primModNatS02(x188, x187)=Succ(x165) & Succ(Succ(Succ(Zero)))=x188 & Succ(Succ(Succ(Zero)))=x187 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 (16) (new_primModNatS01(x192, x191, x190, x189)=Succ(x165) & Succ(Succ(Succ(Succ(x190))))=x192 & Succ(Succ(Succ(Succ(x189))))=x191 & (\/x193:new_primModNatS01(x192, x191, x190, x189)=Succ(x193) & Succ(Succ(Succ(x190)))=x192 & Succ(Succ(Succ(x189)))=x191 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x190)))))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x190))), Succ(Succ(Succ(x189))), Succ(x190), Succ(x189)))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))), Neg(Succ(Succ(Succ(Succ(Succ(x190)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) 161.35/120.17 161.35/120.17 (17) (new_primModNatS02(x196, x195)=Succ(x165) & Succ(Succ(Succ(Succ(x194))))=x196 & Succ(Succ(Succ(Zero)))=x195 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) 161.35/120.17 161.35/120.17 (18) (Succ(Succ(x199))=Succ(x165) & Succ(Succ(Succ(Zero)))=x199 & Succ(Succ(Succ(Succ(x197))))=x198 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (21) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (23) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 To summarize, we get the following constraints P__>=_ for the following pairs. 161.35/120.17 161.35/120.17 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 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. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (652) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 161.35/120.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_esEs(Pos(Succ(vuz2500))) -> False 161.35/120.17 new_esEs(Pos(Zero)) -> True 161.35/120.17 new_esEs(Neg(Succ(vuz2500))) -> False 161.35/120.17 new_esEs(Neg(Zero)) -> True 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_esEs(Pos(Zero)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_esEs(Pos(Succ(x0))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_esEs(Neg(Succ(x0))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 new_esEs(Neg(Zero)) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (653) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (654) DependencyGraphProof (EQUIVALENT) 161.35/120.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (655) 161.35/120.17 Complex Obligation (AND) 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (656) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) 161.35/120.17 new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (657) TransformationProof (EQUIVALENT) 161.35/120.17 By rewriting [LPAR04] the rule new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.17 161.35/120.17 (new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)),new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127))) 161.35/120.17 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (658) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) 161.35/120.17 new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (659) TransformationProof (EQUIVALENT) 161.35/120.17 By rewriting [LPAR04] the rule new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.17 161.35/120.17 (new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)),new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127))) 161.35/120.17 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (660) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) 161.35/120.17 new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) 161.35/120.17 new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (661) QDPSizeChangeProof (EQUIVALENT) 161.35/120.17 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 161.35/120.17 161.35/120.17 Order:Polynomial interpretation [POLO]: 161.35/120.17 161.35/120.17 POL(Succ(x_1)) = 1 + x_1 161.35/120.17 POL(Zero) = 1 161.35/120.17 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 From the DPs we obtained the following set of size-change graphs: 161.35/120.17 *new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) (allowed arguments on rhs = {1, 2}) 161.35/120.17 The graph contains the following edges 1 >= 1 161.35/120.17 161.35/120.17 161.35/120.17 *new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) (allowed arguments on rhs = {1, 2}) 161.35/120.17 The graph contains the following edges 1 >= 1 161.35/120.17 161.35/120.17 161.35/120.17 *new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) (allowed arguments on rhs = {1, 2, 3, 4}) 161.35/120.17 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 161.35/120.17 161.35/120.17 161.35/120.17 *new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) (allowed arguments on rhs = {1, 2, 3, 4}) 161.35/120.17 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 161.35/120.17 161.35/120.17 161.35/120.17 *new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) (allowed arguments on rhs = {1, 2}) 161.35/120.17 The graph contains the following edges 1 >= 1, 2 >= 2 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We oriented the following set of usable rules [AAECC05,FROCOS05]. 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (662) 161.35/120.17 YES 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (663) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (664) QDPSizeChangeProof (EQUIVALENT) 161.35/120.17 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 161.35/120.17 161.35/120.17 Order:Polynomial interpretation [POLO]: 161.35/120.17 161.35/120.17 POL(Succ(x_1)) = 1 + x_1 161.35/120.17 POL(Zero) = 1 161.35/120.17 POL(new_primMinusNatS0(x_1, x_2)) = x_1 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 From the DPs we obtained the following set of size-change graphs: 161.35/120.17 *new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) (allowed arguments on rhs = {1, 2}) 161.35/120.17 The graph contains the following edges 1 > 1, 2 >= 2 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We oriented the following set of usable rules [AAECC05,FROCOS05]. 161.35/120.17 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (665) 161.35/120.17 YES 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (666) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (667) MNOCProof (EQUIVALENT) 161.35/120.17 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (668) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 Q is empty. 161.35/120.17 We have to consider all (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (669) InductionCalculusProof (EQUIVALENT) 161.35/120.17 Note that final constraints are written in bold face. 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 For Pair new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) the following chains were created: 161.35/120.17 *We consider the chain new_gcd0Gcd'00(x4, x5) -> new_gcd0Gcd'(x5, x4), new_gcd0Gcd'(x6, x7) -> new_gcd0Gcd'10(new_esEs0(new_rem0(x7, x6)), x6, x7) which results in the following constraint: 161.35/120.17 161.35/120.17 (1) (new_gcd0Gcd'(x5, x4)=new_gcd0Gcd'(x6, x7) ==> new_gcd0Gcd'00(x4, x5)_>=_new_gcd0Gcd'(x5, x4)) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (2) (new_gcd0Gcd'00(x4, x5)_>=_new_gcd0Gcd'(x5, x4)) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 For Pair new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) the following chains were created: 161.35/120.17 *We consider the chain new_gcd0Gcd'10(False, x8, x9) -> new_gcd0Gcd'00(x8, new_rem0(x9, x8)), new_gcd0Gcd'00(x10, x11) -> new_gcd0Gcd'(x11, x10) which results in the following constraint: 161.35/120.17 161.35/120.17 (1) (new_gcd0Gcd'00(x8, new_rem0(x9, x8))=new_gcd0Gcd'00(x10, x11) ==> new_gcd0Gcd'10(False, x8, x9)_>=_new_gcd0Gcd'00(x8, new_rem0(x9, x8))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (2) (new_gcd0Gcd'10(False, x8, x9)_>=_new_gcd0Gcd'00(x8, new_rem0(x9, x8))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 For Pair new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) the following chains were created: 161.35/120.17 *We consider the chain new_gcd0Gcd'(x18, x19) -> new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19), new_gcd0Gcd'10(False, x20, x21) -> new_gcd0Gcd'00(x20, new_rem0(x21, x20)) which results in the following constraint: 161.35/120.17 161.35/120.17 (1) (new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)=new_gcd0Gcd'10(False, x20, x21) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.17 161.35/120.17 (2) (new_rem0(x19, x18)=x24 & new_esEs0(x24)=False ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x24)=False which results in the following new constraints: 161.35/120.17 161.35/120.17 (3) (False=False & new_rem0(x19, x18)=Integer(Neg(Succ(x25))) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) 161.35/120.17 161.35/120.17 (4) (False=False & new_rem0(x19, x18)=Integer(Pos(Succ(x26))) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 161.35/120.17 161.35/120.17 (5) (new_rem0(x19, x18)=Integer(Neg(Succ(x25))) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 161.35/120.17 161.35/120.17 (6) (new_rem0(x19, x18)=Integer(Pos(Succ(x26))) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_rem0(x19, x18)=Integer(Neg(Succ(x25))) which results in the following new constraint: 161.35/120.17 161.35/120.17 (7) (Integer(new_primRemInt(x28, x27))=Integer(Neg(Succ(x25))) ==> new_gcd0Gcd'(Integer(x27), Integer(x28))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(x28), Integer(x27))), Integer(x27), Integer(x28))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 161.35/120.17 161.35/120.17 (8) (new_primRemInt(x28, x27)=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(x27), Integer(x28))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(x28), Integer(x27))), Integer(x27), Integer(x28))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x28, x27)=Neg(Succ(x25)) which results in the following new constraints: 161.35/120.17 161.35/120.17 (9) (new_error=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) 161.35/120.17 161.35/120.17 (10) (Neg(new_primModNatS1(x35, x34))=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Succ(x34))), Integer(Neg(x35)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x35)), Integer(Pos(Succ(x34))))), Integer(Pos(Succ(x34))), Integer(Neg(x35)))) 161.35/120.17 161.35/120.17 (11) (new_error=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) 161.35/120.17 161.35/120.17 (12) (Neg(new_primModNatS1(x38, x37))=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Succ(x37))), Integer(Neg(x38)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x38)), Integer(Neg(Succ(x37))))), Integer(Neg(Succ(x37))), Integer(Neg(x38)))) 161.35/120.17 161.35/120.17 (13) (new_error=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) 161.35/120.17 161.35/120.17 (14) (new_error=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (9) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (15) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (16) (new_gcd0Gcd'(Integer(Pos(Succ(x34))), Integer(Neg(x35)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x35)), Integer(Pos(Succ(x34))))), Integer(Pos(Succ(x34))), Integer(Neg(x35)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (11) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (17) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (18) (new_gcd0Gcd'(Integer(Neg(Succ(x37))), Integer(Neg(x38)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x38)), Integer(Neg(Succ(x37))))), Integer(Neg(Succ(x37))), Integer(Neg(x38)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (13) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (19) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (14) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (20) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_rem0(x19, x18)=Integer(Pos(Succ(x26))) which results in the following new constraint: 161.35/120.17 161.35/120.17 (21) (Integer(new_primRemInt(x42, x41))=Integer(Pos(Succ(x26))) ==> new_gcd0Gcd'(Integer(x41), Integer(x42))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(x42), Integer(x41))), Integer(x41), Integer(x42))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (21) using rules (I), (II) which results in the following new constraint: 161.35/120.17 161.35/120.17 (22) (new_primRemInt(x42, x41)=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(x41), Integer(x42))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(x42), Integer(x41))), Integer(x41), Integer(x42))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (22) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x42, x41)=Pos(Succ(x26)) which results in the following new constraints: 161.35/120.17 161.35/120.17 (23) (Pos(new_primModNatS1(x44, x43))=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Succ(x43))), Integer(Pos(x44)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x44)), Integer(Neg(Succ(x43))))), Integer(Neg(Succ(x43))), Integer(Pos(x44)))) 161.35/120.17 161.35/120.17 (24) (Pos(new_primModNatS1(x46, x45))=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Succ(x45))), Integer(Pos(x46)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x46)), Integer(Pos(Succ(x45))))), Integer(Pos(Succ(x45))), Integer(Pos(x46)))) 161.35/120.17 161.35/120.17 (25) (new_error=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) 161.35/120.17 161.35/120.17 (26) (new_error=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) 161.35/120.17 161.35/120.17 (27) (new_error=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) 161.35/120.17 161.35/120.17 (28) (new_error=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x54)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x54)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x54)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (29) (new_gcd0Gcd'(Integer(Neg(Succ(x43))), Integer(Pos(x44)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x44)), Integer(Neg(Succ(x43))))), Integer(Neg(Succ(x43))), Integer(Pos(x44)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (30) (new_gcd0Gcd'(Integer(Pos(Succ(x45))), Integer(Pos(x46)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x46)), Integer(Pos(Succ(x45))))), Integer(Pos(Succ(x45))), Integer(Pos(x46)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (25) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (31) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (26) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (32) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We simplified constraint (27) using rule (IV) which results in the following new constraint: 161.35/120.17 161.35/120.17 (33) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 We solved constraint (28) using rule (IV). 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 To summarize, we get the following constraints P__>=_ for the following pairs. 161.35/120.17 161.35/120.17 *new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'00(x4, x5)_>=_new_gcd0Gcd'(x5, x4)) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 *new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'10(False, x8, x9)_>=_new_gcd0Gcd'00(x8, new_rem0(x9, x8))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 *new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Pos(Succ(x34))), Integer(Neg(x35)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x35)), Integer(Pos(Succ(x34))))), Integer(Pos(Succ(x34))), Integer(Neg(x35)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Neg(Succ(x37))), Integer(Neg(x38)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x38)), Integer(Neg(Succ(x37))))), Integer(Neg(Succ(x37))), Integer(Neg(x38)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Neg(Succ(x43))), Integer(Pos(x44)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x44)), Integer(Neg(Succ(x43))))), Integer(Neg(Succ(x43))), Integer(Pos(x44)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Pos(Succ(x45))), Integer(Pos(x46)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x46)), Integer(Pos(Succ(x45))))), Integer(Pos(Succ(x45))), Integer(Pos(x46)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) 161.35/120.17 161.35/120.17 161.35/120.17 *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 161.35/120.17 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. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (670) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (671) TransformationProof (EQUIVALENT) 161.35/120.17 By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.17 161.35/120.17 (new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'10(new_esEs0(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)),new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'10(new_esEs0(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0))) 161.35/120.17 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (672) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'10(new_esEs0(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (673) TransformationProof (EQUIVALENT) 161.35/120.17 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'10(new_esEs0(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.17 161.35/120.17 (new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0)))) 161.35/120.17 (new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0)))) 161.35/120.17 (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0)))) 161.35/120.17 (new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0)))) 161.35/120.17 (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0)))) 161.35/120.17 (new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0)))) 161.35/120.17 (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0)))) 161.35/120.17 (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0)))) 161.35/120.17 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (674) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (675) TransformationProof (EQUIVALENT) 161.35/120.17 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.17 161.35/120.17 (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0)))) 161.35/120.17 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (676) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (677) DependencyGraphProof (EQUIVALENT) 161.35/120.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (678) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (679) TransformationProof (EQUIVALENT) 161.35/120.17 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.17 161.35/120.17 (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0)))) 161.35/120.17 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (680) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (681) DependencyGraphProof (EQUIVALENT) 161.35/120.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (682) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (683) TransformationProof (EQUIVALENT) 161.35/120.17 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.17 161.35/120.17 (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0)))) 161.35/120.17 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (684) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (685) DependencyGraphProof (EQUIVALENT) 161.35/120.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (686) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (687) TransformationProof (EQUIVALENT) 161.35/120.17 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.17 161.35/120.17 (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0)))) 161.35/120.17 161.35/120.17 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (688) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.17 161.35/120.17 The set Q consists of the following terms: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.17 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.17 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.17 new_error 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) 161.35/120.17 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.17 new_esEs0(Integer(Pos(Zero))) 161.35/120.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.17 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.17 new_rem0(Integer(x0), Integer(x1)) 161.35/120.17 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.17 new_primMinusNatS0(Zero, Zero) 161.35/120.17 new_primModNatS02(x0, x1) 161.35/120.17 new_primModNatS1(Zero, x0) 161.35/120.17 161.35/120.17 We have to consider all minimal (P,Q,R)-chains. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (689) DependencyGraphProof (EQUIVALENT) 161.35/120.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.17 ---------------------------------------- 161.35/120.17 161.35/120.17 (690) 161.35/120.17 Obligation: 161.35/120.17 Q DP problem: 161.35/120.17 The TRS P consists of the following rules: 161.35/120.17 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.17 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.17 161.35/120.17 The TRS R consists of the following rules: 161.35/120.17 161.35/120.17 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.17 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.17 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.17 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.17 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.17 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.17 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.17 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.17 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.17 new_error -> error([]) 161.35/120.17 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.17 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.17 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.17 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (691) TransformationProof (EQUIVALENT) 161.35/120.18 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero)))) 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (692) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (693) DependencyGraphProof (EQUIVALENT) 161.35/120.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (694) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (695) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (696) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (697) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (698) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (699) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (700) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (701) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (702) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (703) DependencyGraphProof (EQUIVALENT) 161.35/120.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (704) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (705) TransformationProof (EQUIVALENT) 161.35/120.18 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero)))) 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (706) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (707) DependencyGraphProof (EQUIVALENT) 161.35/120.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (708) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (709) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (710) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (711) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (712) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (713) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (714) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (715) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (716) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (717) DependencyGraphProof (EQUIVALENT) 161.35/120.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (718) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (719) TransformationProof (EQUIVALENT) 161.35/120.18 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero)))) 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (720) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (721) DependencyGraphProof (EQUIVALENT) 161.35/120.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (722) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (723) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (724) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (725) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (726) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (727) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (728) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (729) TransformationProof (EQUIVALENT) 161.35/120.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (730) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (731) DependencyGraphProof (EQUIVALENT) 161.35/120.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (732) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.18 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.18 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.18 new_error -> error([]) 161.35/120.18 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.18 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.18 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.18 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.18 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.18 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.18 161.35/120.18 The set Q consists of the following terms: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.18 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.18 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.18 new_esEs0(Integer(Neg(Zero))) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.18 new_error 161.35/120.18 new_primModNatS1(Succ(Zero), Zero) 161.35/120.18 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.18 new_esEs0(Integer(Pos(Zero))) 161.35/120.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.18 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.18 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.18 new_rem0(Integer(x0), Integer(x1)) 161.35/120.18 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.18 new_primMinusNatS0(Zero, Zero) 161.35/120.18 new_primModNatS02(x0, x1) 161.35/120.18 new_primModNatS1(Zero, x0) 161.35/120.18 161.35/120.18 We have to consider all minimal (P,Q,R)-chains. 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (733) TransformationProof (EQUIVALENT) 161.35/120.18 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.18 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero)))) 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) 161.35/120.18 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 161.35/120.18 161.35/120.18 161.35/120.18 ---------------------------------------- 161.35/120.18 161.35/120.18 (734) 161.35/120.18 Obligation: 161.35/120.18 Q DP problem: 161.35/120.18 The TRS P consists of the following rules: 161.35/120.18 161.35/120.18 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.18 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.18 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.18 161.35/120.18 The TRS R consists of the following rules: 161.35/120.18 161.35/120.18 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (735) DependencyGraphProof (EQUIVALENT) 161.35/120.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (736) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (737) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (738) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (739) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (740) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (741) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (742) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (743) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (744) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (745) DependencyGraphProof (EQUIVALENT) 161.35/120.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (746) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (747) TransformationProof (EQUIVALENT) 161.35/120.19 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (748) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (749) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (750) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (751) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (752) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (753) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), 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]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (754) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (755) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (756) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (757) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (758) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (759) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (760) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (761) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (762) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (763) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (764) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (765) DependencyGraphProof (EQUIVALENT) 161.35/120.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (766) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (767) TransformationProof (EQUIVALENT) 161.35/120.19 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (768) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (769) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (770) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (771) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (772) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.19 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.19 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.19 new_rem0(Integer(x0), Integer(x1)) 161.35/120.19 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.19 new_primMinusNatS0(Zero, Zero) 161.35/120.19 new_primModNatS02(x0, x1) 161.35/120.19 new_primModNatS1(Zero, x0) 161.35/120.19 161.35/120.19 We have to consider all minimal (P,Q,R)-chains. 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (773) TransformationProof (EQUIVALENT) 161.35/120.19 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.19 161.35/120.19 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.19 161.35/120.19 161.35/120.19 ---------------------------------------- 161.35/120.19 161.35/120.19 (774) 161.35/120.19 Obligation: 161.35/120.19 Q DP problem: 161.35/120.19 The TRS P consists of the following rules: 161.35/120.19 161.35/120.19 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.19 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.19 161.35/120.19 The TRS R consists of the following rules: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.19 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.19 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.19 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.19 new_error -> error([]) 161.35/120.19 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.19 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.19 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.19 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.19 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.19 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.19 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.19 161.35/120.19 The set Q consists of the following terms: 161.35/120.19 161.35/120.19 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.19 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.19 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.19 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.19 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.19 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.19 new_esEs0(Integer(Neg(Zero))) 161.35/120.19 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.19 new_error 161.35/120.19 new_primModNatS1(Succ(Zero), Zero) 161.35/120.19 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.19 new_esEs0(Integer(Pos(Zero))) 161.35/120.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (775) DependencyGraphProof (EQUIVALENT) 161.35/120.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (776) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (777) TransformationProof (EQUIVALENT) 161.35/120.20 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (778) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (779) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (780) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (781) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (782) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (783) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), 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]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (784) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (785) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (786) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (787) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (788) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (789) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (790) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (791) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (792) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (793) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(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]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (794) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (795) DependencyGraphProof (EQUIVALENT) 161.35/120.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (796) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (797) TransformationProof (EQUIVALENT) 161.35/120.20 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (798) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (799) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (800) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (801) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (802) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (803) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (804) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (805) DependencyGraphProof (EQUIVALENT) 161.35/120.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (806) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (807) TransformationProof (EQUIVALENT) 161.35/120.20 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (808) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (809) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (810) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (811) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (812) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.20 161.35/120.20 The TRS R consists of the following rules: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.20 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.20 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.20 new_error -> error([]) 161.35/120.20 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.20 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.20 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.20 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.20 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.20 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.20 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.20 161.35/120.20 The set Q consists of the following terms: 161.35/120.20 161.35/120.20 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.20 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.20 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.20 new_esEs0(Integer(Neg(Zero))) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.20 new_error 161.35/120.20 new_primModNatS1(Succ(Zero), Zero) 161.35/120.20 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.20 new_esEs0(Integer(Pos(Zero))) 161.35/120.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.20 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.20 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.20 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.20 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.20 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.20 new_rem0(Integer(x0), Integer(x1)) 161.35/120.20 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.20 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.20 new_primMinusNatS0(Zero, Zero) 161.35/120.20 new_primModNatS02(x0, x1) 161.35/120.20 new_primModNatS1(Zero, x0) 161.35/120.20 161.35/120.20 We have to consider all minimal (P,Q,R)-chains. 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (813) TransformationProof (EQUIVALENT) 161.35/120.20 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), 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]: 161.35/120.20 161.35/120.20 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.20 161.35/120.20 161.35/120.20 ---------------------------------------- 161.35/120.20 161.35/120.20 (814) 161.35/120.20 Obligation: 161.35/120.20 Q DP problem: 161.35/120.20 The TRS P consists of the following rules: 161.35/120.20 161.35/120.20 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.20 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (815) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (816) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (817) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (818) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (819) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (820) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (821) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (822) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (823) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(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]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (824) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (825) DependencyGraphProof (EQUIVALENT) 161.35/120.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (826) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (827) TransformationProof (EQUIVALENT) 161.35/120.21 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (828) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (829) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (830) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (831) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (832) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (833) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (834) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (835) DependencyGraphProof (EQUIVALENT) 161.35/120.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (836) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (837) TransformationProof (EQUIVALENT) 161.35/120.21 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (838) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (839) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (840) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (841) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (842) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (843) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), 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]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (844) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (845) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (846) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (847) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (848) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (849) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (850) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.21 161.35/120.21 The TRS R consists of the following rules: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.21 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.21 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.21 new_error -> error([]) 161.35/120.21 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.21 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.21 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.21 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.21 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.21 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.21 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.21 161.35/120.21 The set Q consists of the following terms: 161.35/120.21 161.35/120.21 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.21 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.21 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.21 new_esEs0(Integer(Neg(Zero))) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.21 new_error 161.35/120.21 new_primModNatS1(Succ(Zero), Zero) 161.35/120.21 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.21 new_esEs0(Integer(Pos(Zero))) 161.35/120.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.21 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.21 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.21 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.21 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.21 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.21 new_rem0(Integer(x0), Integer(x1)) 161.35/120.21 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.21 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.21 new_primMinusNatS0(Zero, Zero) 161.35/120.21 new_primModNatS02(x0, x1) 161.35/120.21 new_primModNatS1(Zero, x0) 161.35/120.21 161.35/120.21 We have to consider all minimal (P,Q,R)-chains. 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (851) TransformationProof (EQUIVALENT) 161.35/120.21 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.21 161.35/120.21 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 161.35/120.21 161.35/120.21 161.35/120.21 ---------------------------------------- 161.35/120.21 161.35/120.21 (852) 161.35/120.21 Obligation: 161.35/120.21 Q DP problem: 161.35/120.21 The TRS P consists of the following rules: 161.35/120.21 161.35/120.21 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.21 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.21 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (853) TransformationProof (EQUIVALENT) 161.35/120.22 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(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]: 161.35/120.22 161.35/120.22 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (854) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (855) DependencyGraphProof (EQUIVALENT) 161.35/120.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (856) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (857) TransformationProof (EQUIVALENT) 161.35/120.22 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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]: 161.35/120.22 161.35/120.22 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.22 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 161.35/120.22 161.35/120.22 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (858) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (859) TransformationProof (EQUIVALENT) 161.35/120.22 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.22 161.35/120.22 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (860) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (861) TransformationProof (EQUIVALENT) 161.35/120.22 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.22 161.35/120.22 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 161.35/120.22 161.35/120.22 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (862) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (863) TransformationProof (EQUIVALENT) 161.35/120.22 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 161.35/120.22 161.35/120.22 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (864) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (865) DependencyGraphProof (EQUIVALENT) 161.35/120.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (866) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (867) QDPOrderProof (EQUIVALENT) 161.35/120.22 We use the reduction pair processor [LPAR04,JAR06]. 161.35/120.22 161.35/120.22 161.35/120.22 The following pairs can be oriented strictly and are deleted. 161.35/120.22 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 161.35/120.22 The remaining pairs can at least be oriented weakly. 161.35/120.22 Used ordering: Polynomial interpretation [POLO]: 161.35/120.22 161.35/120.22 POL(False) = 1 161.35/120.22 POL(Integer(x_1)) = x_1 161.35/120.22 POL(Neg(x_1)) = 1 161.35/120.22 POL(Pos(x_1)) = x_1 161.35/120.22 POL(Succ(x_1)) = 1 161.35/120.22 POL(True) = 0 161.35/120.22 POL(Zero) = 0 161.35/120.22 POL([]) = 1 161.35/120.22 POL(error(x_1)) = 1 + x_1 161.35/120.22 POL(new_error) = 1 161.35/120.22 POL(new_esEs0(x_1)) = x_1 161.35/120.22 POL(new_gcd0Gcd'(x_1, x_2)) = 1 + x_2 161.35/120.22 POL(new_gcd0Gcd'00(x_1, x_2)) = 1 + x_1 161.35/120.22 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_1 + x_2 161.35/120.22 POL(new_primMinusNatS0(x_1, x_2)) = 0 161.35/120.22 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 161.35/120.22 POL(new_primModNatS02(x_1, x_2)) = 1 161.35/120.22 POL(new_primModNatS1(x_1, x_2)) = x_2 161.35/120.22 POL(new_primRemInt(x_1, x_2)) = 0 161.35/120.22 POL(new_rem0(x_1, x_2)) = x_1 161.35/120.22 161.35/120.22 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 161.35/120.22 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 161.35/120.22 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (868) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (869) QDPOrderProof (EQUIVALENT) 161.35/120.22 We use the reduction pair processor [LPAR04,JAR06]. 161.35/120.22 161.35/120.22 161.35/120.22 The following pairs can be oriented strictly and are deleted. 161.35/120.22 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 161.35/120.22 The remaining pairs can at least be oriented weakly. 161.35/120.22 Used ordering: Polynomial interpretation [POLO]: 161.35/120.22 161.35/120.22 POL(False) = 1 161.35/120.22 POL(Integer(x_1)) = x_1 161.35/120.22 POL(Neg(x_1)) = x_1 161.35/120.22 POL(Pos(x_1)) = x_1 161.35/120.22 POL(Succ(x_1)) = 1 161.35/120.22 POL(True) = 0 161.35/120.22 POL(Zero) = 0 161.35/120.22 POL([]) = 1 161.35/120.22 POL(error(x_1)) = 1 + x_1 161.35/120.22 POL(new_error) = 1 161.35/120.22 POL(new_esEs0(x_1)) = x_1 161.35/120.22 POL(new_gcd0Gcd'(x_1, x_2)) = 1 161.35/120.22 POL(new_gcd0Gcd'00(x_1, x_2)) = 1 161.35/120.22 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_1 161.35/120.22 POL(new_primMinusNatS0(x_1, x_2)) = 0 161.35/120.22 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 161.35/120.22 POL(new_primModNatS02(x_1, x_2)) = 1 161.35/120.22 POL(new_primModNatS1(x_1, x_2)) = x_2 161.35/120.22 POL(new_primRemInt(x_1, x_2)) = 0 161.35/120.22 POL(new_rem0(x_1, x_2)) = x_1 161.35/120.22 161.35/120.22 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 161.35/120.22 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 161.35/120.22 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (870) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 The set Q consists of the following terms: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(x0), Neg(Zero)) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Zero)) 161.35/120.22 new_esEs0(Integer(Neg(Succ(x0)))) 161.35/120.22 new_esEs0(Integer(Pos(Succ(x0)))) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Zero) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Zero)) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Zero)) 161.35/120.22 new_error 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) 161.35/120.22 new_primMinusNatS0(Zero, Succ(x0)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) 161.35/120.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(x0)) 161.35/120.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.35/120.22 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Zero) 161.35/120.22 new_primMinusNatS0(Succ(x0), Zero) 161.35/120.22 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.35/120.22 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.35/120.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.35/120.22 new_rem0(Integer(x0), Integer(x1)) 161.35/120.22 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.35/120.22 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.35/120.22 new_primMinusNatS0(Zero, Zero) 161.35/120.22 new_primModNatS02(x0, x1) 161.35/120.22 new_primModNatS1(Zero, x0) 161.35/120.22 161.35/120.22 We have to consider all minimal (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (871) MNOCProof (EQUIVALENT) 161.35/120.22 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (872) 161.35/120.22 Obligation: 161.35/120.22 Q DP problem: 161.35/120.22 The TRS P consists of the following rules: 161.35/120.22 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.35/120.22 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.35/120.22 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.35/120.22 161.35/120.22 The TRS R consists of the following rules: 161.35/120.22 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.35/120.22 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.35/120.22 new_primMinusNatS0(Zero, Zero) -> Zero 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.35/120.22 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Neg(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_primModNatS1(Zero, vuz7400) -> Zero 161.35/120.22 new_error -> error([]) 161.35/120.22 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.35/120.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.35/120.22 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.35/120.22 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.35/120.22 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.35/120.22 new_esEs0(Integer(Pos(Zero))) -> True 161.35/120.22 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.35/120.22 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.35/120.22 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.35/120.22 161.35/120.22 Q is empty. 161.35/120.22 We have to consider all (P,Q,R)-chains. 161.35/120.22 ---------------------------------------- 161.35/120.22 161.35/120.22 (873) InductionCalculusProof (EQUIVALENT) 161.35/120.22 Note that final constraints are written in bold face. 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) the following chains were created: 161.35/120.22 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero)))), new_gcd0Gcd'10(False, x2, x3) -> new_gcd0Gcd'00(x2, new_rem0(x3, x2)) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))=new_gcd0Gcd'10(False, x2, x3) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) the following chains were created: 161.35/120.22 *We consider the chain new_gcd0Gcd'10(False, x24, x25) -> new_gcd0Gcd'00(x24, new_rem0(x25, x24)), new_gcd0Gcd'00(x26, x27) -> new_gcd0Gcd'(x27, x26) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'00(x24, new_rem0(x25, x24))=new_gcd0Gcd'00(x26, x27) ==> new_gcd0Gcd'10(False, x24, x25)_>=_new_gcd0Gcd'00(x24, new_rem0(x25, x24))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'10(False, x24, x25)_>=_new_gcd0Gcd'00(x24, new_rem0(x25, x24))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) the following chains were created: 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x58, x59) -> new_gcd0Gcd'(x59, x58), new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x59, x58)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) ==> new_gcd0Gcd'00(x58, x59)_>=_new_gcd0Gcd'(x59, x58)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x60)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x65, x66) -> new_gcd0Gcd'(x66, x65), new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x66, x65)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) ==> new_gcd0Gcd'00(x65, x66)_>=_new_gcd0Gcd'(x66, x65)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x67)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x68, x69) -> new_gcd0Gcd'(x69, x68), new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x69, x68)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) ==> new_gcd0Gcd'00(x68, x69)_>=_new_gcd0Gcd'(x69, x68)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x70)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x71, x72) -> new_gcd0Gcd'(x72, x71), new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x72, x71)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) ==> new_gcd0Gcd'00(x71, x72)_>=_new_gcd0Gcd'(x72, x71)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x73)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x74, x75) -> new_gcd0Gcd'(x75, x74), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x77), Succ(x76), x77, x76)))), Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x75, x74)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) ==> new_gcd0Gcd'00(x74, x75)_>=_new_gcd0Gcd'(x75, x74)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x77))))), Integer(Neg(Succ(Succ(Succ(x76))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x78, x79) -> new_gcd0Gcd'(x79, x78), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x79, x78)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(x78, x79)_>=_new_gcd0Gcd'(x79, x78)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x80))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x81, x82) -> new_gcd0Gcd'(x82, x81), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x83), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x82, x81)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) ==> new_gcd0Gcd'00(x81, x82)_>=_new_gcd0Gcd'(x82, x81)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x83))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x84, x85) -> new_gcd0Gcd'(x85, x84), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x87), Succ(x86), x87, x86)))), Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x85, x84)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) ==> new_gcd0Gcd'00(x84, x85)_>=_new_gcd0Gcd'(x85, x84)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x87))))), Integer(Pos(Succ(Succ(Succ(x86))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x88, x89) -> new_gcd0Gcd'(x89, x88), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x89, x88)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(x88, x89)_>=_new_gcd0Gcd'(x89, x88)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x90))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x91, x92) -> new_gcd0Gcd'(x92, x91), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x93), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x92, x91)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) ==> new_gcd0Gcd'00(x91, x92)_>=_new_gcd0Gcd'(x92, x91)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x93))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x94, x95) -> new_gcd0Gcd'(x95, x94), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x97), Succ(x96), x97, x96)))), Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x95, x94)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) ==> new_gcd0Gcd'00(x94, x95)_>=_new_gcd0Gcd'(x95, x94)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x97))))), Integer(Pos(Succ(Succ(Succ(x96))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x98, x99) -> new_gcd0Gcd'(x99, x98), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x99, x98)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(x98, x99)_>=_new_gcd0Gcd'(x99, x98)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x100))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x101, x102) -> new_gcd0Gcd'(x102, x101), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x103), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x102, x101)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) ==> new_gcd0Gcd'00(x101, x102)_>=_new_gcd0Gcd'(x102, x101)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x103))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x104, x105) -> new_gcd0Gcd'(x105, x104), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x107), Succ(x106), x107, x106)))), Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x105, x104)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) ==> new_gcd0Gcd'00(x104, x105)_>=_new_gcd0Gcd'(x105, x104)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x107))))), Integer(Neg(Succ(Succ(Succ(x106))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x108, x109) -> new_gcd0Gcd'(x109, x108), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x109, x108)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(x108, x109)_>=_new_gcd0Gcd'(x109, x108)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x110))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 *We consider the chain new_gcd0Gcd'00(x111, x112) -> new_gcd0Gcd'(x112, x111), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x113), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'(x112, x111)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) ==> new_gcd0Gcd'00(x111, x112)_>=_new_gcd0Gcd'(x112, x111)) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x113))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) the following chains were created: 161.35/120.22 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero)))), new_gcd0Gcd'10(False, x116, x117) -> new_gcd0Gcd'00(x116, new_rem0(x117, x116)) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))=new_gcd0Gcd'10(False, x116, x117) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) the following chains were created: 161.35/120.22 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero)))), new_gcd0Gcd'10(False, x136, x137) -> new_gcd0Gcd'00(x136, new_rem0(x137, x136)) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))=new_gcd0Gcd'10(False, x136, x137) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) the following chains were created: 161.35/120.22 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero)))), new_gcd0Gcd'10(False, x156, x157) -> new_gcd0Gcd'00(x156, new_rem0(x157, x156)) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))=new_gcd0Gcd'10(False, x156, x157) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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: 161.35/120.22 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177)))))), new_gcd0Gcd'10(False, x178, x179) -> new_gcd0Gcd'00(x178, new_rem0(x179, x178)) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))=new_gcd0Gcd'10(False, x178, x179) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=x486 & new_esEs0(x486)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x486)=False which results in the following new constraints: 161.35/120.22 161.35/120.22 (3) (False=False & Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=Integer(Neg(Succ(x487))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 161.35/120.22 161.35/120.22 (4) (False=False & Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=Integer(Pos(Succ(x488))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (5) (Succ(x177)=x489 & Succ(x176)=x490 & new_primModNatS01(x489, x490, x177, x176)=Succ(x488) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x489, x490, x177, x176)=Succ(x488) which results in the following new constraints: 161.35/120.22 161.35/120.22 (6) (new_primModNatS01(x494, x493, x492, x491)=Succ(x488) & Succ(Succ(x492))=x494 & Succ(Succ(x491))=x493 & (\/x495:new_primModNatS01(x494, x493, x492, x491)=Succ(x495) & Succ(x492)=x494 & Succ(x491)=x493 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x491))))), Integer(Pos(Succ(Succ(Succ(x492))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x492), Succ(x491), x492, x491)))), Integer(Neg(Succ(Succ(Succ(x491))))), Integer(Pos(Succ(Succ(Succ(x492))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x492)), Succ(Succ(x491)), Succ(x492), Succ(x491))))), Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))) 161.35/120.22 161.35/120.22 (7) (Succ(Succ(x498))=Succ(x488) & Succ(Zero)=x498 & Succ(Succ(x496))=x497 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.35/120.22 161.35/120.22 (8) (new_primModNatS02(x500, x499)=Succ(x488) & Succ(Zero)=x500 & Succ(Zero)=x499 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.35/120.22 161.35/120.22 (9) (new_primModNatS02(x503, x502)=Succ(x488) & Succ(Succ(x501))=x503 & Succ(Zero)=x502 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (6) using rule (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (10) (new_primModNatS01(x494, x493, x492, x491)=Succ(x488) & Succ(Succ(x492))=x494 & Succ(Succ(x491))=x493 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x492)), Succ(Succ(x491)), Succ(x492), Succ(x491))))), Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (11) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x500, x499)=Succ(x488) which results in the following new constraint: 161.35/120.22 161.35/120.22 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x518), Succ(x517)), Succ(x517))=Succ(x488) & Succ(Zero)=x518 & Succ(Zero)=x517 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x503, x502)=Succ(x488) which results in the following new constraint: 161.35/120.22 161.35/120.22 (13) (new_primModNatS1(new_primMinusNatS0(Succ(x524), Succ(x523)), Succ(x523))=Succ(x488) & Succ(Succ(x501))=x524 & Succ(Zero)=x523 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x494, x493, x492, x491)=Succ(x488) which results in the following new constraints: 161.35/120.22 161.35/120.22 (14) (new_primModNatS01(x507, x506, x505, x504)=Succ(x488) & Succ(Succ(Succ(x505)))=x507 & Succ(Succ(Succ(x504)))=x506 & (\/x508:new_primModNatS01(x507, x506, x505, x504)=Succ(x508) & Succ(Succ(x505))=x507 & Succ(Succ(x504))=x506 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x504)))))), Integer(Pos(Succ(Succ(Succ(Succ(x505)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x505)), Succ(Succ(x504)), Succ(x505), Succ(x504))))), Integer(Neg(Succ(Succ(Succ(Succ(x504)))))), Integer(Pos(Succ(Succ(Succ(Succ(x505)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) 161.35/120.22 161.35/120.22 (15) (Succ(Succ(x511))=Succ(x488) & Succ(Succ(Zero))=x511 & Succ(Succ(Succ(x509)))=x510 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.22 161.35/120.22 (16) (new_primModNatS02(x513, x512)=Succ(x488) & Succ(Succ(Zero))=x513 & Succ(Succ(Zero))=x512 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.35/120.22 161.35/120.22 (17) (new_primModNatS02(x516, x515)=Succ(x488) & Succ(Succ(Succ(x514)))=x516 & Succ(Succ(Zero))=x515 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (18) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (23) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: 161.35/120.22 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, x214, x215) -> new_gcd0Gcd'00(x214, new_rem0(x215, x214)) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, x214, x215) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: 161.35/120.22 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233)))))), new_gcd0Gcd'10(False, x234, x235) -> new_gcd0Gcd'00(x234, new_rem0(x235, x234)) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))=new_gcd0Gcd'10(False, x234, x235) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=x529 & new_esEs0(x529)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x529)=False which results in the following new constraints: 161.35/120.22 161.35/120.22 (3) (False=False & Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=Integer(Neg(Succ(x530))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 (4) (False=False & Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=Integer(Pos(Succ(x531))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (5) (Succ(x233)=x532 & Succ(Zero)=x533 & new_primModNatS1(x532, x533)=Succ(x531) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x532, x533)=Succ(x531) which results in the following new constraints: 161.35/120.22 161.35/120.22 (6) (Succ(Zero)=Succ(x531) & Succ(x233)=Succ(Zero) & Succ(Zero)=Succ(x534) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 (7) (new_primModNatS01(x536, x535, x536, x535)=Succ(x531) & Succ(x233)=Succ(Succ(x536)) & Succ(Zero)=Succ(x535) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x531) & Succ(x233)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x538), Zero), Zero)=Succ(x531) & Succ(x233)=Succ(Succ(x538)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.35/120.22 161.35/120.22 (10) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (11) (x536=x539 & x535=x540 & new_primModNatS01(x536, x535, x539, x540)=Succ(x531) & Zero=x535 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x536)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x536)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x536)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x536, x535, x539, x540)=Succ(x531) which results in the following new constraints: 161.35/120.22 161.35/120.22 (12) (new_primModNatS01(x544, x543, x542, x541)=Succ(x531) & x544=Succ(x542) & x543=Succ(x541) & Zero=x543 & (\/x545:new_primModNatS01(x544, x543, x542, x541)=Succ(x545) & x544=x542 & x543=x541 & Zero=x543 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x544)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x544)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))) 161.35/120.22 161.35/120.22 (13) (Succ(Succ(x548))=Succ(x531) & x548=Zero & x547=Succ(x546) & Zero=x547 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x548)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x548)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x548)))))))) 161.35/120.22 161.35/120.22 (14) (new_primModNatS02(x550, x549)=Succ(x531) & x550=Zero & x549=Zero & Zero=x549 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x550)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x550)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x550)))))))) 161.35/120.22 161.35/120.22 (15) (new_primModNatS02(x553, x552)=Succ(x531) & x553=Succ(x551) & x552=Zero & Zero=x552 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x553)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x553)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x553)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (16) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (17) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x551))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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: 161.35/120.22 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255)))))), new_gcd0Gcd'10(False, x256, x257) -> new_gcd0Gcd'00(x256, new_rem0(x257, x256)) which results in the following constraint: 161.35/120.22 161.35/120.22 (1) (new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))=new_gcd0Gcd'10(False, x256, x257) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 161.35/120.22 161.35/120.22 161.35/120.22 161.35/120.22 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.35/120.22 161.35/120.22 (2) (Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=x558 & new_esEs0(x558)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x558)=False which results in the following new constraints: 161.45/120.22 161.45/120.22 (3) (False=False & Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=Integer(Neg(Succ(x559))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 161.45/120.22 161.45/120.22 (4) (False=False & Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=Integer(Pos(Succ(x560))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 161.45/120.22 161.45/120.22 (5) (Succ(x255)=x561 & Succ(x254)=x562 & new_primModNatS01(x561, x562, x255, x254)=Succ(x560) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x561, x562, x255, x254)=Succ(x560) which results in the following new constraints: 161.45/120.22 161.45/120.22 (6) (new_primModNatS01(x566, x565, x564, x563)=Succ(x560) & Succ(Succ(x564))=x566 & Succ(Succ(x563))=x565 & (\/x567:new_primModNatS01(x566, x565, x564, x563)=Succ(x567) & Succ(x564)=x566 & Succ(x563)=x565 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x563))))), Integer(Pos(Succ(Succ(Succ(x564))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x564), Succ(x563), x564, x563)))), Integer(Pos(Succ(Succ(Succ(x563))))), Integer(Pos(Succ(Succ(Succ(x564))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x564)), Succ(Succ(x563)), Succ(x564), Succ(x563))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))) 161.45/120.22 161.45/120.22 (7) (Succ(Succ(x570))=Succ(x560) & Succ(Zero)=x570 & Succ(Succ(x568))=x569 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.22 161.45/120.22 (8) (new_primModNatS02(x572, x571)=Succ(x560) & Succ(Zero)=x572 & Succ(Zero)=x571 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.22 161.45/120.22 (9) (new_primModNatS02(x575, x574)=Succ(x560) & Succ(Succ(x573))=x575 & Succ(Zero)=x574 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (6) using rule (IV) which results in the following new constraint: 161.45/120.22 161.45/120.22 (10) (new_primModNatS01(x566, x565, x564, x563)=Succ(x560) & Succ(Succ(x564))=x566 & Succ(Succ(x563))=x565 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x564)), Succ(Succ(x563)), Succ(x564), Succ(x563))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.22 161.45/120.22 (11) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x572, x571)=Succ(x560) which results in the following new constraint: 161.45/120.22 161.45/120.22 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x590), Succ(x589)), Succ(x589))=Succ(x560) & Succ(Zero)=x590 & Succ(Zero)=x589 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x575, x574)=Succ(x560) which results in the following new constraint: 161.45/120.22 161.45/120.22 (13) (new_primModNatS1(new_primMinusNatS0(Succ(x596), Succ(x595)), Succ(x595))=Succ(x560) & Succ(Succ(x573))=x596 & Succ(Zero)=x595 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x566, x565, x564, x563)=Succ(x560) which results in the following new constraints: 161.45/120.22 161.45/120.22 (14) (new_primModNatS01(x579, x578, x577, x576)=Succ(x560) & Succ(Succ(Succ(x577)))=x579 & Succ(Succ(Succ(x576)))=x578 & (\/x580:new_primModNatS01(x579, x578, x577, x576)=Succ(x580) & Succ(Succ(x577))=x579 & Succ(Succ(x576))=x578 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(x577)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x577)), Succ(Succ(x576)), Succ(x577), Succ(x576))))), Integer(Pos(Succ(Succ(Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(x577)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) 161.45/120.22 161.45/120.22 (15) (Succ(Succ(x583))=Succ(x560) & Succ(Succ(Zero))=x583 & Succ(Succ(Succ(x581)))=x582 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.22 161.45/120.22 (16) (new_primModNatS02(x585, x584)=Succ(x560) & Succ(Succ(Zero))=x585 & Succ(Succ(Zero))=x584 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.22 161.45/120.22 (17) (new_primModNatS02(x588, x587)=Succ(x560) & Succ(Succ(Succ(x586)))=x588 & Succ(Succ(Zero))=x587 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.45/120.22 161.45/120.22 (18) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.22 161.45/120.22 (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.22 161.45/120.22 161.45/120.22 161.45/120.22 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 161.45/120.22 161.45/120.22 (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (23) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: 161.45/120.23 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, x292, x293) -> new_gcd0Gcd'00(x292, new_rem0(x293, x292)) which results in the following constraint: 161.45/120.23 161.45/120.23 (1) (new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, x292, x293) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: 161.45/120.23 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311)))))), new_gcd0Gcd'10(False, x312, x313) -> new_gcd0Gcd'00(x312, new_rem0(x313, x312)) which results in the following constraint: 161.45/120.23 161.45/120.23 (1) (new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))=new_gcd0Gcd'10(False, x312, x313) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (2) (Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=x601 & new_esEs0(x601)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x601)=False which results in the following new constraints: 161.45/120.23 161.45/120.23 (3) (False=False & Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=Integer(Neg(Succ(x602))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 (4) (False=False & Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=Integer(Pos(Succ(x603))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (5) (Succ(x311)=x604 & Succ(Zero)=x605 & new_primModNatS1(x604, x605)=Succ(x603) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x604, x605)=Succ(x603) which results in the following new constraints: 161.45/120.23 161.45/120.23 (6) (Succ(Zero)=Succ(x603) & Succ(x311)=Succ(Zero) & Succ(Zero)=Succ(x606) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 (7) (new_primModNatS01(x608, x607, x608, x607)=Succ(x603) & Succ(x311)=Succ(Succ(x608)) & Succ(Zero)=Succ(x607) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x603) & Succ(x311)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x610), Zero), Zero)=Succ(x603) & Succ(x311)=Succ(Succ(x610)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (10) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (11) (x608=x611 & x607=x612 & new_primModNatS01(x608, x607, x611, x612)=Succ(x603) & Zero=x607 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x608)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x608)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x608)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x608, x607, x611, x612)=Succ(x603) which results in the following new constraints: 161.45/120.23 161.45/120.23 (12) (new_primModNatS01(x616, x615, x614, x613)=Succ(x603) & x616=Succ(x614) & x615=Succ(x613) & Zero=x615 & (\/x617:new_primModNatS01(x616, x615, x614, x613)=Succ(x617) & x616=x614 & x615=x613 & Zero=x615 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x616)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x616)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))) 161.45/120.23 161.45/120.23 (13) (Succ(Succ(x620))=Succ(x603) & x620=Zero & x619=Succ(x618) & Zero=x619 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x620)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x620)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x620)))))))) 161.45/120.23 161.45/120.23 (14) (new_primModNatS02(x622, x621)=Succ(x603) & x622=Zero & x621=Zero & Zero=x621 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x622)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x622)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x622)))))))) 161.45/120.23 161.45/120.23 (15) (new_primModNatS02(x625, x624)=Succ(x603) & x625=Succ(x623) & x624=Zero & Zero=x624 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x625)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x625)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x625)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (16) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (17) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x623))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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: 161.45/120.23 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333)))))), new_gcd0Gcd'10(False, x334, x335) -> new_gcd0Gcd'00(x334, new_rem0(x335, x334)) which results in the following constraint: 161.45/120.23 161.45/120.23 (1) (new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))=new_gcd0Gcd'10(False, x334, x335) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (2) (Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=x630 & new_esEs0(x630)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x630)=False which results in the following new constraints: 161.45/120.23 161.45/120.23 (3) (False=False & Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=Integer(Neg(Succ(x631))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 161.45/120.23 161.45/120.23 (4) (False=False & Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=Integer(Pos(Succ(x632))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (5) (Succ(x333)=x633 & Succ(x332)=x634 & new_primModNatS01(x633, x634, x333, x332)=Succ(x631) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x633, x634, x333, x332)=Succ(x631) which results in the following new constraints: 161.45/120.23 161.45/120.23 (6) (new_primModNatS01(x638, x637, x636, x635)=Succ(x631) & Succ(Succ(x636))=x638 & Succ(Succ(x635))=x637 & (\/x639:new_primModNatS01(x638, x637, x636, x635)=Succ(x639) & Succ(x636)=x638 & Succ(x635)=x637 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x635))))), Integer(Neg(Succ(Succ(Succ(x636))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x636), Succ(x635), x636, x635)))), Integer(Pos(Succ(Succ(Succ(x635))))), Integer(Neg(Succ(Succ(Succ(x636))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x636)), Succ(Succ(x635)), Succ(x636), Succ(x635))))), Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))) 161.45/120.23 161.45/120.23 (7) (Succ(Succ(x642))=Succ(x631) & Succ(Zero)=x642 & Succ(Succ(x640))=x641 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 (8) (new_primModNatS02(x644, x643)=Succ(x631) & Succ(Zero)=x644 & Succ(Zero)=x643 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 (9) (new_primModNatS02(x647, x646)=Succ(x631) & Succ(Succ(x645))=x647 & Succ(Zero)=x646 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (6) using rule (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (10) (new_primModNatS01(x638, x637, x636, x635)=Succ(x631) & Succ(Succ(x636))=x638 & Succ(Succ(x635))=x637 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x636)), Succ(Succ(x635)), Succ(x636), Succ(x635))))), Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (11) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x644, x643)=Succ(x631) which results in the following new constraint: 161.45/120.23 161.45/120.23 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x662), Succ(x661)), Succ(x661))=Succ(x631) & Succ(Zero)=x662 & Succ(Zero)=x661 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x647, x646)=Succ(x631) which results in the following new constraint: 161.45/120.23 161.45/120.23 (13) (new_primModNatS1(new_primMinusNatS0(Succ(x668), Succ(x667)), Succ(x667))=Succ(x631) & Succ(Succ(x645))=x668 & Succ(Zero)=x667 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x638, x637, x636, x635)=Succ(x631) which results in the following new constraints: 161.45/120.23 161.45/120.23 (14) (new_primModNatS01(x651, x650, x649, x648)=Succ(x631) & Succ(Succ(Succ(x649)))=x651 & Succ(Succ(Succ(x648)))=x650 & (\/x652:new_primModNatS01(x651, x650, x649, x648)=Succ(x652) & Succ(Succ(x649))=x651 & Succ(Succ(x648))=x650 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x648)))))), Integer(Neg(Succ(Succ(Succ(Succ(x649)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x649)), Succ(Succ(x648)), Succ(x649), Succ(x648))))), Integer(Pos(Succ(Succ(Succ(Succ(x648)))))), Integer(Neg(Succ(Succ(Succ(Succ(x649)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) 161.45/120.23 161.45/120.23 (15) (Succ(Succ(x655))=Succ(x631) & Succ(Succ(Zero))=x655 & Succ(Succ(Succ(x653)))=x654 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 (16) (new_primModNatS02(x657, x656)=Succ(x631) & Succ(Succ(Zero))=x657 & Succ(Succ(Zero))=x656 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 (17) (new_primModNatS02(x660, x659)=Succ(x631) & Succ(Succ(Succ(x658)))=x660 & Succ(Succ(Zero))=x659 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (18) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (23) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: 161.45/120.23 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, x370, x371) -> new_gcd0Gcd'00(x370, new_rem0(x371, x370)) which results in the following constraint: 161.45/120.23 161.45/120.23 (1) (new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, x370, x371) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: 161.45/120.23 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389)))))), new_gcd0Gcd'10(False, x390, x391) -> new_gcd0Gcd'00(x390, new_rem0(x391, x390)) which results in the following constraint: 161.45/120.23 161.45/120.23 (1) (new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))=new_gcd0Gcd'10(False, x390, x391) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (2) (Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=x673 & new_esEs0(x673)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x673)=False which results in the following new constraints: 161.45/120.23 161.45/120.23 (3) (False=False & Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=Integer(Neg(Succ(x674))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 (4) (False=False & Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=Integer(Pos(Succ(x675))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (5) (Succ(x389)=x676 & Succ(Zero)=x677 & new_primModNatS1(x676, x677)=Succ(x674) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x676, x677)=Succ(x674) which results in the following new constraints: 161.45/120.23 161.45/120.23 (6) (Succ(Zero)=Succ(x674) & Succ(x389)=Succ(Zero) & Succ(Zero)=Succ(x678) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 (7) (new_primModNatS01(x680, x679, x680, x679)=Succ(x674) & Succ(x389)=Succ(Succ(x680)) & Succ(Zero)=Succ(x679) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x674) & Succ(x389)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x682), Zero), Zero)=Succ(x674) & Succ(x389)=Succ(Succ(x682)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (10) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (11) (x680=x683 & x679=x684 & new_primModNatS01(x680, x679, x683, x684)=Succ(x674) & Zero=x679 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x680)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x680)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x680)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x680, x679, x683, x684)=Succ(x674) which results in the following new constraints: 161.45/120.23 161.45/120.23 (12) (new_primModNatS01(x688, x687, x686, x685)=Succ(x674) & x688=Succ(x686) & x687=Succ(x685) & Zero=x687 & (\/x689:new_primModNatS01(x688, x687, x686, x685)=Succ(x689) & x688=x686 & x687=x685 & Zero=x687 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x688)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x688)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))) 161.45/120.23 161.45/120.23 (13) (Succ(Succ(x692))=Succ(x674) & x692=Zero & x691=Succ(x690) & Zero=x691 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x692)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x692)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x692)))))))) 161.45/120.23 161.45/120.23 (14) (new_primModNatS02(x694, x693)=Succ(x674) & x694=Zero & x693=Zero & Zero=x693 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x694)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x694)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x694)))))))) 161.45/120.23 161.45/120.23 (15) (new_primModNatS02(x697, x696)=Succ(x674) & x697=Succ(x695) & x696=Zero & Zero=x696 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x697)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x697)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x697)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (16) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (17) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x695))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(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: 161.45/120.23 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411)))))), new_gcd0Gcd'10(False, x412, x413) -> new_gcd0Gcd'00(x412, new_rem0(x413, x412)) which results in the following constraint: 161.45/120.23 161.45/120.23 (1) (new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))=new_gcd0Gcd'10(False, x412, x413) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (2) (Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=x702 & new_esEs0(x702)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x702)=False which results in the following new constraints: 161.45/120.23 161.45/120.23 (3) (False=False & Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=Integer(Neg(Succ(x703))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 161.45/120.23 161.45/120.23 (4) (False=False & Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=Integer(Pos(Succ(x704))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (5) (Succ(x411)=x705 & Succ(x410)=x706 & new_primModNatS01(x705, x706, x411, x410)=Succ(x703) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x705, x706, x411, x410)=Succ(x703) which results in the following new constraints: 161.45/120.23 161.45/120.23 (6) (new_primModNatS01(x710, x709, x708, x707)=Succ(x703) & Succ(Succ(x708))=x710 & Succ(Succ(x707))=x709 & (\/x711:new_primModNatS01(x710, x709, x708, x707)=Succ(x711) & Succ(x708)=x710 & Succ(x707)=x709 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x707))))), Integer(Neg(Succ(Succ(Succ(x708))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x708), Succ(x707), x708, x707)))), Integer(Neg(Succ(Succ(Succ(x707))))), Integer(Neg(Succ(Succ(Succ(x708))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x708)), Succ(Succ(x707)), Succ(x708), Succ(x707))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))) 161.45/120.23 161.45/120.23 (7) (Succ(Succ(x714))=Succ(x703) & Succ(Zero)=x714 & Succ(Succ(x712))=x713 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 (8) (new_primModNatS02(x716, x715)=Succ(x703) & Succ(Zero)=x716 & Succ(Zero)=x715 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 (9) (new_primModNatS02(x719, x718)=Succ(x703) & Succ(Succ(x717))=x719 & Succ(Zero)=x718 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (6) using rule (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (10) (new_primModNatS01(x710, x709, x708, x707)=Succ(x703) & Succ(Succ(x708))=x710 & Succ(Succ(x707))=x709 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x708)), Succ(Succ(x707)), Succ(x708), Succ(x707))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (11) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x716, x715)=Succ(x703) which results in the following new constraint: 161.45/120.23 161.45/120.23 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x734), Succ(x733)), Succ(x733))=Succ(x703) & Succ(Zero)=x734 & Succ(Zero)=x733 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x719, x718)=Succ(x703) which results in the following new constraint: 161.45/120.23 161.45/120.23 (13) (new_primModNatS1(new_primMinusNatS0(Succ(x740), Succ(x739)), Succ(x739))=Succ(x703) & Succ(Succ(x717))=x740 & Succ(Zero)=x739 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x710, x709, x708, x707)=Succ(x703) which results in the following new constraints: 161.45/120.23 161.45/120.23 (14) (new_primModNatS01(x723, x722, x721, x720)=Succ(x703) & Succ(Succ(Succ(x721)))=x723 & Succ(Succ(Succ(x720)))=x722 & (\/x724:new_primModNatS01(x723, x722, x721, x720)=Succ(x724) & Succ(Succ(x721))=x723 & Succ(Succ(x720))=x722 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(x721)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x721)), Succ(Succ(x720)), Succ(x721), Succ(x720))))), Integer(Neg(Succ(Succ(Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(x721)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) 161.45/120.23 161.45/120.23 (15) (Succ(Succ(x727))=Succ(x703) & Succ(Succ(Zero))=x727 & Succ(Succ(Succ(x725)))=x726 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 (16) (new_primModNatS02(x729, x728)=Succ(x703) & Succ(Succ(Zero))=x729 & Succ(Succ(Zero))=x728 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 (17) (new_primModNatS02(x732, x731)=Succ(x703) & Succ(Succ(Succ(x730)))=x732 & Succ(Succ(Zero))=x731 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (18) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (23) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: 161.45/120.23 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, x448, x449) -> new_gcd0Gcd'00(x448, new_rem0(x449, x448)) which results in the following constraint: 161.45/120.23 161.45/120.23 (1) (new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, x448, x449) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: 161.45/120.23 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467)))))), new_gcd0Gcd'10(False, x468, x469) -> new_gcd0Gcd'00(x468, new_rem0(x469, x468)) which results in the following constraint: 161.45/120.23 161.45/120.23 (1) (new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))=new_gcd0Gcd'10(False, x468, x469) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (2) (Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=x745 & new_esEs0(x745)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x745)=False which results in the following new constraints: 161.45/120.23 161.45/120.23 (3) (False=False & Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=Integer(Neg(Succ(x746))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 (4) (False=False & Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=Integer(Pos(Succ(x747))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (5) (Succ(x467)=x748 & Succ(Zero)=x749 & new_primModNatS1(x748, x749)=Succ(x746) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x748, x749)=Succ(x746) which results in the following new constraints: 161.45/120.23 161.45/120.23 (6) (Succ(Zero)=Succ(x746) & Succ(x467)=Succ(Zero) & Succ(Zero)=Succ(x750) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 (7) (new_primModNatS01(x752, x751, x752, x751)=Succ(x746) & Succ(x467)=Succ(Succ(x752)) & Succ(Zero)=Succ(x751) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x746) & Succ(x467)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x754), Zero), Zero)=Succ(x746) & Succ(x467)=Succ(Succ(x754)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 161.45/120.23 161.45/120.23 (10) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (11) (x752=x755 & x751=x756 & new_primModNatS01(x752, x751, x755, x756)=Succ(x746) & Zero=x751 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x752)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x752)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x752)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x752, x751, x755, x756)=Succ(x746) which results in the following new constraints: 161.45/120.23 161.45/120.23 (12) (new_primModNatS01(x760, x759, x758, x757)=Succ(x746) & x760=Succ(x758) & x759=Succ(x757) & Zero=x759 & (\/x761:new_primModNatS01(x760, x759, x758, x757)=Succ(x761) & x760=x758 & x759=x757 & Zero=x759 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x760)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x760)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))) 161.45/120.23 161.45/120.23 (13) (Succ(Succ(x764))=Succ(x746) & x764=Zero & x763=Succ(x762) & Zero=x763 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x764)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x764)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x764)))))))) 161.45/120.23 161.45/120.23 (14) (new_primModNatS02(x766, x765)=Succ(x746) & x766=Zero & x765=Zero & Zero=x765 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x766)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x766)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x766)))))))) 161.45/120.23 161.45/120.23 (15) (new_primModNatS02(x769, x768)=Succ(x746) & x769=Succ(x767) & x768=Zero & Zero=x768 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x769)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x769)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x769)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (16) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 161.45/120.23 161.45/120.23 (17) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x767))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 To summarize, we get the following constraints P__>=_ for the following pairs. 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'10(False, x24, x25)_>=_new_gcd0Gcd'00(x24, new_rem0(x25, x24))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x60)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x67)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x70)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x73)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x77))))), Integer(Neg(Succ(Succ(Succ(x76))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x80))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x83))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x87))))), Integer(Pos(Succ(Succ(Succ(x86))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x90))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x93))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x97))))), Integer(Pos(Succ(Succ(Succ(x96))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x100))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x103))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x107))))), Integer(Neg(Succ(Succ(Succ(x106))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x110))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x113))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x551))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x623))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x695))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(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)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 161.45/120.23 161.45/120.23 161.45/120.23 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x767))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))) 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 161.45/120.23 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. 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (874) 161.45/120.23 Obligation: 161.45/120.23 Q DP problem: 161.45/120.23 The TRS P consists of the following rules: 161.45/120.23 161.45/120.23 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.45/120.23 new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) 161.45/120.23 new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) 161.45/120.23 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 161.45/120.23 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.45/120.23 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 161.45/120.23 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.45/120.23 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.45/120.23 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.45/120.23 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.45/120.23 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 161.45/120.23 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 161.45/120.23 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.45/120.23 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.45/120.23 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.45/120.23 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.45/120.23 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 161.45/120.23 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 161.45/120.23 161.45/120.23 The TRS R consists of the following rules: 161.45/120.23 161.45/120.23 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.45/120.23 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) 161.45/120.23 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 161.45/120.23 new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero 161.45/120.23 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 161.45/120.23 new_primMinusNatS0(Zero, Zero) -> Zero 161.45/120.23 new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) 161.45/120.23 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 161.45/120.23 new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) 161.45/120.23 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 161.45/120.23 new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) 161.45/120.23 new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) 161.45/120.23 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.45/120.23 new_esEs0(Integer(Neg(Zero))) -> True 161.45/120.23 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 161.45/120.23 new_primModNatS1(Zero, vuz7400) -> Zero 161.45/120.23 new_error -> error([]) 161.45/120.23 new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False 161.45/120.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 161.45/120.23 new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) 161.45/120.23 new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) 161.45/120.23 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) 161.45/120.23 new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) 161.45/120.23 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 161.45/120.23 new_esEs0(Integer(Pos(Zero))) -> True 161.45/120.23 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 161.45/120.23 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 161.45/120.23 new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False 161.45/120.23 161.45/120.23 The set Q consists of the following terms: 161.45/120.23 161.45/120.23 new_primRemInt(Pos(x0), Neg(Zero)) 161.45/120.23 new_primRemInt(Neg(x0), Pos(Zero)) 161.45/120.23 new_esEs0(Integer(Neg(Succ(x0)))) 161.45/120.23 new_esEs0(Integer(Pos(Succ(x0)))) 161.45/120.23 new_primModNatS1(Succ(Succ(x0)), Zero) 161.45/120.23 new_primRemInt(Neg(x0), Neg(Zero)) 161.45/120.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 161.45/120.23 new_esEs0(Integer(Neg(Zero))) 161.45/120.23 new_primRemInt(Pos(x0), Pos(Zero)) 161.45/120.23 new_error 161.45/120.23 new_primModNatS1(Succ(Zero), Zero) 161.45/120.23 new_primMinusNatS0(Zero, Succ(x0)) 161.45/120.23 new_esEs0(Integer(Pos(Zero))) 161.45/120.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 161.45/120.23 new_primModNatS1(Succ(Zero), Succ(x0)) 161.45/120.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 161.45/120.23 new_primRemInt(Neg(x0), Neg(Succ(x1))) 161.45/120.23 new_primModNatS01(x0, x1, Zero, Zero) 161.45/120.23 new_primMinusNatS0(Succ(x0), Zero) 161.45/120.23 new_primRemInt(Pos(x0), Neg(Succ(x1))) 161.45/120.23 new_primRemInt(Neg(x0), Pos(Succ(x1))) 161.45/120.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 161.45/120.23 new_rem0(Integer(x0), Integer(x1)) 161.45/120.23 new_primMinusNatS0(Succ(x0), Succ(x1)) 161.45/120.23 new_primRemInt(Pos(x0), Pos(Succ(x1))) 161.45/120.23 new_primMinusNatS0(Zero, Zero) 161.45/120.23 new_primModNatS02(x0, x1) 161.45/120.23 new_primModNatS1(Zero, x0) 161.45/120.23 161.45/120.23 We have to consider all minimal (P,Q,R)-chains. 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (875) 161.45/120.23 Obligation: 161.45/120.23 Q DP problem: 161.45/120.23 The TRS P consists of the following rules: 161.45/120.23 161.45/120.23 new_primMulNat(Succ(vuz4100), Succ(vuz3100)) -> new_primMulNat(vuz4100, Succ(vuz3100)) 161.45/120.23 161.45/120.23 R is empty. 161.45/120.23 Q is empty. 161.45/120.23 We have to consider all minimal (P,Q,R)-chains. 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (876) QDPSizeChangeProof (EQUIVALENT) 161.45/120.23 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. 161.45/120.23 161.45/120.23 From the DPs we obtained the following set of size-change graphs: 161.45/120.23 *new_primMulNat(Succ(vuz4100), Succ(vuz3100)) -> new_primMulNat(vuz4100, Succ(vuz3100)) 161.45/120.23 The graph contains the following edges 1 > 1, 2 >= 2 161.45/120.23 161.45/120.23 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (877) 161.45/120.23 YES 161.45/120.23 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (878) 161.45/120.23 Obligation: 161.45/120.23 Q DP problem: 161.45/120.23 The TRS P consists of the following rules: 161.45/120.23 161.45/120.23 new_primMinusNatS(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS(vuz940, vuz950) 161.45/120.23 161.45/120.23 R is empty. 161.45/120.23 Q is empty. 161.45/120.23 We have to consider all minimal (P,Q,R)-chains. 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (879) QDPSizeChangeProof (EQUIVALENT) 161.45/120.23 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. 161.45/120.23 161.45/120.23 From the DPs we obtained the following set of size-change graphs: 161.45/120.23 *new_primMinusNatS(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS(vuz940, vuz950) 161.45/120.23 The graph contains the following edges 1 > 1, 2 > 2 161.45/120.23 161.45/120.23 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (880) 161.45/120.23 YES 161.45/120.23 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (881) 161.45/120.23 Obligation: 161.45/120.23 Q DP problem: 161.45/120.23 The TRS P consists of the following rules: 161.45/120.23 161.45/120.23 new_primPlusNat(Succ(vuz400), Succ(vuz300)) -> new_primPlusNat(vuz400, vuz300) 161.45/120.23 161.45/120.23 R is empty. 161.45/120.23 Q is empty. 161.45/120.23 We have to consider all minimal (P,Q,R)-chains. 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (882) QDPSizeChangeProof (EQUIVALENT) 161.45/120.23 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. 161.45/120.23 161.45/120.23 From the DPs we obtained the following set of size-change graphs: 161.45/120.23 *new_primPlusNat(Succ(vuz400), Succ(vuz300)) -> new_primPlusNat(vuz400, vuz300) 161.45/120.23 The graph contains the following edges 1 > 1, 2 > 2 161.45/120.23 161.45/120.23 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (883) 161.45/120.23 YES 161.45/120.23 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (884) 161.45/120.23 Obligation: 161.45/120.23 Q DP problem: 161.45/120.23 The TRS P consists of the following rules: 161.45/120.23 161.45/120.23 new_primMinusNat(Succ(vuz400), Succ(vuz300)) -> new_primMinusNat(vuz400, vuz300) 161.45/120.23 161.45/120.23 R is empty. 161.45/120.23 Q is empty. 161.45/120.23 We have to consider all minimal (P,Q,R)-chains. 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (885) QDPSizeChangeProof (EQUIVALENT) 161.45/120.23 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. 161.45/120.23 161.45/120.23 From the DPs we obtained the following set of size-change graphs: 161.45/120.23 *new_primMinusNat(Succ(vuz400), Succ(vuz300)) -> new_primMinusNat(vuz400, vuz300) 161.45/120.23 The graph contains the following edges 1 > 1, 2 > 2 161.45/120.23 161.45/120.23 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (886) 161.45/120.23 YES 161.45/120.23 161.45/120.23 ---------------------------------------- 161.45/120.23 161.45/120.23 (887) Narrow (COMPLETE) 161.45/120.23 Haskell To QDPs 161.45/120.23 161.45/120.23 digraph dp_graph { 161.45/120.23 node [outthreshold=100, inthreshold=100];1[label="subtract",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 161.45/120.23 3[label="subtract vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 161.45/120.23 4[label="subtract vuz3 vuz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 161.45/120.23 5[label="flip (-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 161.45/120.23 6[label="(-) vuz4 vuz3",fontsize=16,color="blue",shape="box"];1424[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];6 -> 1424[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1424 -> 7[label="",style="solid", color="blue", weight=3]; 161.45/120.23 1425[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];6 -> 1425[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1425 -> 8[label="",style="solid", color="blue", weight=3]; 161.45/120.23 1426[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];6 -> 1426[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1426 -> 9[label="",style="solid", color="blue", weight=3]; 161.45/120.23 1427[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];6 -> 1427[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1427 -> 10[label="",style="solid", color="blue", weight=3]; 161.45/120.23 1428[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];6 -> 1428[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1428 -> 11[label="",style="solid", color="blue", weight=3]; 161.45/120.23 7[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];7 -> 12[label="",style="solid", color="black", weight=3]; 161.45/120.23 8[label="(-) vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1429[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];8 -> 1429[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1429 -> 13[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 9[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 161.45/120.23 10[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="triangle"];10 -> 15[label="",style="solid", color="black", weight=3]; 161.45/120.23 11[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];11 -> 16[label="",style="solid", color="black", weight=3]; 161.45/120.23 12[label="primMinusDouble vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1430[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];12 -> 1430[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1430 -> 17[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 13[label="(-) Integer vuz40 vuz3",fontsize=16,color="burlywood",shape="box"];1431[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];13 -> 1431[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1431 -> 18[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 14[label="primMinusFloat vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1432[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];14 -> 1432[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1432 -> 19[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 15[label="primMinusInt vuz4 vuz3",fontsize=16,color="burlywood",shape="triangle"];1433[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];15 -> 1433[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1433 -> 20[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1434[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];15 -> 1434[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1434 -> 21[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 16[label="vuz4 + (negate vuz3)",fontsize=16,color="burlywood",shape="box"];1435[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];16 -> 1435[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1435 -> 22[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 17[label="primMinusDouble (Double vuz40 vuz41) vuz3",fontsize=16,color="burlywood",shape="box"];1436[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];17 -> 1436[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1436 -> 23[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 18[label="(-) Integer vuz40 Integer vuz30",fontsize=16,color="black",shape="box"];18 -> 24[label="",style="solid", color="black", weight=3]; 161.45/120.23 19[label="primMinusFloat (Float vuz40 vuz41) vuz3",fontsize=16,color="burlywood",shape="box"];1437[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];19 -> 1437[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1437 -> 25[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 20[label="primMinusInt (Pos vuz40) vuz3",fontsize=16,color="burlywood",shape="box"];1438[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];20 -> 1438[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1438 -> 26[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1439[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];20 -> 1439[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1439 -> 27[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 21[label="primMinusInt (Neg vuz40) vuz3",fontsize=16,color="burlywood",shape="box"];1440[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];21 -> 1440[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1440 -> 28[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1441[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];21 -> 1441[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1441 -> 29[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 22[label="vuz40 :% vuz41 + (negate vuz3)",fontsize=16,color="burlywood",shape="box"];1442[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];22 -> 1442[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1442 -> 30[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 23[label="primMinusDouble (Double vuz40 vuz41) (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 161.45/120.23 24[label="Integer (primMinusInt vuz40 vuz30)",fontsize=16,color="green",shape="box"];24 -> 32[label="",style="dashed", color="green", weight=3]; 161.45/120.23 25[label="primMinusFloat (Float vuz40 vuz41) (Float vuz30 vuz31)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 161.45/120.23 26[label="primMinusInt (Pos vuz40) (Pos vuz30)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 161.45/120.23 27[label="primMinusInt (Pos vuz40) (Neg vuz30)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 161.45/120.23 28[label="primMinusInt (Neg vuz40) (Pos vuz30)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 161.45/120.23 29[label="primMinusInt (Neg vuz40) (Neg vuz30)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 161.45/120.23 30[label="vuz40 :% vuz41 + (negate vuz30 :% vuz31)",fontsize=16,color="black",shape="box"];30 -> 38[label="",style="solid", color="black", weight=3]; 161.45/120.23 31[label="Double (vuz40 * vuz31 - vuz30 * vuz41) (vuz41 * vuz31)",fontsize=16,color="green",shape="box"];31 -> 39[label="",style="dashed", color="green", weight=3]; 161.45/120.23 31 -> 40[label="",style="dashed", color="green", weight=3]; 161.45/120.23 32 -> 15[label="",style="dashed", color="red", weight=0]; 161.45/120.23 32[label="primMinusInt vuz40 vuz30",fontsize=16,color="magenta"];32 -> 41[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 32 -> 42[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 33[label="Float (vuz40 * vuz31 - vuz30 * vuz41) (vuz41 * vuz31)",fontsize=16,color="green",shape="box"];33 -> 43[label="",style="dashed", color="green", weight=3]; 161.45/120.23 33 -> 44[label="",style="dashed", color="green", weight=3]; 161.45/120.23 34[label="primMinusNat vuz40 vuz30",fontsize=16,color="burlywood",shape="triangle"];1443[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];34 -> 1443[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1443 -> 45[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1444[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];34 -> 1444[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1444 -> 46[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 35[label="Pos (primPlusNat vuz40 vuz30)",fontsize=16,color="green",shape="box"];35 -> 47[label="",style="dashed", color="green", weight=3]; 161.45/120.23 36[label="Neg (primPlusNat vuz40 vuz30)",fontsize=16,color="green",shape="box"];36 -> 48[label="",style="dashed", color="green", weight=3]; 161.45/120.23 37 -> 34[label="",style="dashed", color="red", weight=0]; 161.45/120.23 37[label="primMinusNat vuz30 vuz40",fontsize=16,color="magenta"];37 -> 49[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 37 -> 50[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 38 -> 51[label="",style="dashed", color="red", weight=0]; 161.45/120.23 38[label="vuz40 :% vuz41 + (negate vuz30) :% vuz31",fontsize=16,color="magenta"];38 -> 52[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 38 -> 53[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 38 -> 54[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 38 -> 55[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 39 -> 10[label="",style="dashed", color="red", weight=0]; 161.45/120.23 39[label="vuz40 * vuz31 - vuz30 * vuz41",fontsize=16,color="magenta"];39 -> 56[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 39 -> 57[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 40[label="vuz41 * vuz31",fontsize=16,color="black",shape="triangle"];40 -> 58[label="",style="solid", color="black", weight=3]; 161.45/120.23 41[label="vuz30",fontsize=16,color="green",shape="box"];42[label="vuz40",fontsize=16,color="green",shape="box"];43 -> 10[label="",style="dashed", color="red", weight=0]; 161.45/120.23 43[label="vuz40 * vuz31 - vuz30 * vuz41",fontsize=16,color="magenta"];43 -> 59[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 43 -> 60[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 44 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 44[label="vuz41 * vuz31",fontsize=16,color="magenta"];44 -> 61[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 44 -> 62[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 45[label="primMinusNat (Succ vuz400) vuz30",fontsize=16,color="burlywood",shape="box"];1445[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];45 -> 1445[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1445 -> 63[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1446[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];45 -> 1446[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1446 -> 64[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 46[label="primMinusNat Zero vuz30",fontsize=16,color="burlywood",shape="box"];1447[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];46 -> 1447[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1447 -> 65[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1448[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];46 -> 1448[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1448 -> 66[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 47[label="primPlusNat vuz40 vuz30",fontsize=16,color="burlywood",shape="triangle"];1449[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];47 -> 1449[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1449 -> 67[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1450[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];47 -> 1450[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1450 -> 68[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 48 -> 47[label="",style="dashed", color="red", weight=0]; 161.45/120.23 48[label="primPlusNat vuz40 vuz30",fontsize=16,color="magenta"];48 -> 69[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 48 -> 70[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 49[label="vuz30",fontsize=16,color="green",shape="box"];50[label="vuz40",fontsize=16,color="green",shape="box"];52[label="negate vuz30",fontsize=16,color="blue",shape="box"];1451[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];52 -> 1451[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1451 -> 71[label="",style="solid", color="blue", weight=3]; 161.45/120.23 1452[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];52 -> 1452[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1452 -> 72[label="",style="solid", color="blue", weight=3]; 161.45/120.23 53[label="vuz31",fontsize=16,color="green",shape="box"];54[label="vuz40",fontsize=16,color="green",shape="box"];55[label="vuz41",fontsize=16,color="green",shape="box"];51[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];51 -> 73[label="",style="solid", color="black", weight=3]; 161.45/120.23 56 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 56[label="vuz30 * vuz41",fontsize=16,color="magenta"];56 -> 74[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 56 -> 75[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 57 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 57[label="vuz40 * vuz31",fontsize=16,color="magenta"];57 -> 76[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 58[label="primMulInt vuz41 vuz31",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];58 -> 1453[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1453 -> 77[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1454[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];58 -> 1454[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1454 -> 78[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 59 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 59[label="vuz30 * vuz41",fontsize=16,color="magenta"];59 -> 79[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 59 -> 80[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 60 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 60[label="vuz40 * vuz31",fontsize=16,color="magenta"];60 -> 81[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 60 -> 82[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 61[label="vuz41",fontsize=16,color="green",shape="box"];62[label="vuz31",fontsize=16,color="green",shape="box"];63[label="primMinusNat (Succ vuz400) (Succ vuz300)",fontsize=16,color="black",shape="box"];63 -> 83[label="",style="solid", color="black", weight=3]; 161.45/120.23 64[label="primMinusNat (Succ vuz400) Zero",fontsize=16,color="black",shape="box"];64 -> 84[label="",style="solid", color="black", weight=3]; 161.45/120.23 65[label="primMinusNat Zero (Succ vuz300)",fontsize=16,color="black",shape="box"];65 -> 85[label="",style="solid", color="black", weight=3]; 161.45/120.23 66[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];66 -> 86[label="",style="solid", color="black", weight=3]; 161.45/120.23 67[label="primPlusNat (Succ vuz400) vuz30",fontsize=16,color="burlywood",shape="box"];1455[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];67 -> 1455[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1455 -> 87[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1456[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 1456[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1456 -> 88[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 68[label="primPlusNat Zero vuz30",fontsize=16,color="burlywood",shape="box"];1457[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];68 -> 1457[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1457 -> 89[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1458[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];68 -> 1458[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1458 -> 90[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 69[label="vuz40",fontsize=16,color="green",shape="box"];70[label="vuz30",fontsize=16,color="green",shape="box"];71[label="negate vuz30",fontsize=16,color="burlywood",shape="triangle"];1459[label="vuz30/Integer vuz300",fontsize=10,color="white",style="solid",shape="box"];71 -> 1459[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1459 -> 91[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 72[label="negate vuz30",fontsize=16,color="black",shape="triangle"];72 -> 92[label="",style="solid", color="black", weight=3]; 161.45/120.23 73[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];73 -> 93[label="",style="solid", color="black", weight=3]; 161.45/120.23 74[label="vuz30",fontsize=16,color="green",shape="box"];75[label="vuz41",fontsize=16,color="green",shape="box"];76[label="vuz40",fontsize=16,color="green",shape="box"];77[label="primMulInt (Pos vuz410) vuz31",fontsize=16,color="burlywood",shape="box"];1460[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];77 -> 1460[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1460 -> 94[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1461[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];77 -> 1461[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1461 -> 95[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 78[label="primMulInt (Neg vuz410) vuz31",fontsize=16,color="burlywood",shape="box"];1462[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];78 -> 1462[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1462 -> 96[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1463[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];78 -> 1463[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1463 -> 97[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 79[label="vuz30",fontsize=16,color="green",shape="box"];80[label="vuz41",fontsize=16,color="green",shape="box"];81[label="vuz40",fontsize=16,color="green",shape="box"];82[label="vuz31",fontsize=16,color="green",shape="box"];83 -> 34[label="",style="dashed", color="red", weight=0]; 161.45/120.23 83[label="primMinusNat vuz400 vuz300",fontsize=16,color="magenta"];83 -> 98[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 83 -> 99[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 84[label="Pos (Succ vuz400)",fontsize=16,color="green",shape="box"];85[label="Neg (Succ vuz300)",fontsize=16,color="green",shape="box"];86[label="Pos Zero",fontsize=16,color="green",shape="box"];87[label="primPlusNat (Succ vuz400) (Succ vuz300)",fontsize=16,color="black",shape="box"];87 -> 100[label="",style="solid", color="black", weight=3]; 161.45/120.23 88[label="primPlusNat (Succ vuz400) Zero",fontsize=16,color="black",shape="box"];88 -> 101[label="",style="solid", color="black", weight=3]; 161.45/120.23 89[label="primPlusNat Zero (Succ vuz300)",fontsize=16,color="black",shape="box"];89 -> 102[label="",style="solid", color="black", weight=3]; 161.45/120.23 90[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];90 -> 103[label="",style="solid", color="black", weight=3]; 161.45/120.23 91[label="negate Integer vuz300",fontsize=16,color="black",shape="box"];91 -> 104[label="",style="solid", color="black", weight=3]; 161.45/120.23 92[label="primNegInt vuz30",fontsize=16,color="burlywood",shape="triangle"];1464[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];92 -> 1464[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1464 -> 105[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1465[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];92 -> 1465[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1465 -> 106[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 93[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 161.45/120.23 94[label="primMulInt (Pos vuz410) (Pos vuz310)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 161.45/120.23 95[label="primMulInt (Pos vuz410) (Neg vuz310)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 161.45/120.23 96[label="primMulInt (Neg vuz410) (Pos vuz310)",fontsize=16,color="black",shape="box"];96 -> 110[label="",style="solid", color="black", weight=3]; 161.45/120.23 97[label="primMulInt (Neg vuz410) (Neg vuz310)",fontsize=16,color="black",shape="box"];97 -> 111[label="",style="solid", color="black", weight=3]; 161.45/120.23 98[label="vuz400",fontsize=16,color="green",shape="box"];99[label="vuz300",fontsize=16,color="green",shape="box"];100[label="Succ (Succ (primPlusNat vuz400 vuz300))",fontsize=16,color="green",shape="box"];100 -> 112[label="",style="dashed", color="green", weight=3]; 161.45/120.23 101[label="Succ vuz400",fontsize=16,color="green",shape="box"];102[label="Succ vuz300",fontsize=16,color="green",shape="box"];103[label="Zero",fontsize=16,color="green",shape="box"];104[label="Integer (primNegInt vuz300)",fontsize=16,color="green",shape="box"];104 -> 113[label="",style="dashed", color="green", weight=3]; 161.45/120.23 105[label="primNegInt (Pos vuz300)",fontsize=16,color="black",shape="box"];105 -> 114[label="",style="solid", color="black", weight=3]; 161.45/120.23 106[label="primNegInt (Neg vuz300)",fontsize=16,color="black",shape="box"];106 -> 115[label="",style="solid", color="black", weight=3]; 161.45/120.23 107 -> 116[label="",style="dashed", color="red", weight=0]; 161.45/120.23 107[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];107 -> 117[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 107 -> 118[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 107 -> 119[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 107 -> 120[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 107 -> 121[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 108[label="Pos (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 161.45/120.23 109[label="Neg (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 161.45/120.23 110[label="Neg (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];110 -> 124[label="",style="dashed", color="green", weight=3]; 161.45/120.23 111[label="Pos (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];111 -> 125[label="",style="dashed", color="green", weight=3]; 161.45/120.23 112 -> 47[label="",style="dashed", color="red", weight=0]; 161.45/120.23 112[label="primPlusNat vuz400 vuz300",fontsize=16,color="magenta"];112 -> 126[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 112 -> 127[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 113 -> 92[label="",style="dashed", color="red", weight=0]; 161.45/120.23 113[label="primNegInt vuz300",fontsize=16,color="magenta"];113 -> 128[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 114[label="Neg vuz300",fontsize=16,color="green",shape="box"];115[label="Pos vuz300",fontsize=16,color="green",shape="box"];117[label="vuz11",fontsize=16,color="green",shape="box"];118[label="vuz12",fontsize=16,color="green",shape="box"];119[label="vuz10",fontsize=16,color="green",shape="box"];120[label="vuz13",fontsize=16,color="green",shape="box"];121[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1466[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];121 -> 1466[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1466 -> 129[label="",style="solid", color="blue", weight=3]; 161.45/120.23 1467[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];121 -> 1467[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1467 -> 130[label="",style="solid", color="blue", weight=3]; 161.45/120.23 116[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1468[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];116 -> 1468[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1468 -> 131[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1469[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];116 -> 1469[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1469 -> 132[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 122[label="primMulNat vuz410 vuz310",fontsize=16,color="burlywood",shape="triangle"];1470[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];122 -> 1470[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1470 -> 133[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1471[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 1471[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1471 -> 134[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 123 -> 122[label="",style="dashed", color="red", weight=0]; 161.45/120.23 123[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 124 -> 122[label="",style="dashed", color="red", weight=0]; 161.45/120.23 124[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];124 -> 136[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 125 -> 122[label="",style="dashed", color="red", weight=0]; 161.45/120.23 125[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];125 -> 137[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 125 -> 138[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 126[label="vuz400",fontsize=16,color="green",shape="box"];127[label="vuz300",fontsize=16,color="green",shape="box"];128[label="vuz300",fontsize=16,color="green",shape="box"];129 -> 1046[label="",style="dashed", color="red", weight=0]; 161.45/120.23 129[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];129 -> 1047[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 130 -> 140[label="",style="dashed", color="red", weight=0]; 161.45/120.23 130[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];130 -> 141[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 131[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];131 -> 142[label="",style="solid", color="black", weight=3]; 161.45/120.23 132[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];132 -> 143[label="",style="solid", color="black", weight=3]; 161.45/120.23 133[label="primMulNat (Succ vuz4100) vuz310",fontsize=16,color="burlywood",shape="box"];1472[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];133 -> 1472[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1472 -> 144[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1473[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];133 -> 1473[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1473 -> 145[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 134[label="primMulNat Zero vuz310",fontsize=16,color="burlywood",shape="box"];1474[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];134 -> 1474[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1474 -> 146[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1475[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];134 -> 1475[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1475 -> 147[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 135[label="vuz310",fontsize=16,color="green",shape="box"];136[label="vuz410",fontsize=16,color="green",shape="box"];137[label="vuz310",fontsize=16,color="green",shape="box"];138[label="vuz410",fontsize=16,color="green",shape="box"];1047[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1476[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1047 -> 1476[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1476 -> 1057[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1046[label="vuz101 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1477[label="vuz101/Integer vuz1010",fontsize=10,color="white",style="solid",shape="box"];1046 -> 1477[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1477 -> 1058[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 141 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 141[label="vuz11 * vuz13",fontsize=16,color="magenta"];141 -> 149[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 141 -> 150[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 140[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];140 -> 151[label="",style="solid", color="black", weight=3]; 161.45/120.23 142[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 161.45/120.23 143[label="error []",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 161.45/120.23 144[label="primMulNat (Succ vuz4100) (Succ vuz3100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 161.45/120.23 145[label="primMulNat (Succ vuz4100) Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 161.45/120.23 146[label="primMulNat Zero (Succ vuz3100)",fontsize=16,color="black",shape="box"];146 -> 156[label="",style="solid", color="black", weight=3]; 161.45/120.23 147[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];147 -> 157[label="",style="solid", color="black", weight=3]; 161.45/120.23 1057[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1478[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1057 -> 1478[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1478 -> 1066[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1058[label="Integer vuz1010 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1058 -> 1067[label="",style="solid", color="black", weight=3]; 161.45/120.23 149[label="vuz11",fontsize=16,color="green",shape="box"];150[label="vuz13",fontsize=16,color="green",shape="box"];151[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1479[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];151 -> 1479[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1479 -> 159[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1480[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];151 -> 1480[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1480 -> 160[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 152[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];152 -> 161[label="",style="solid", color="black", weight=3]; 161.45/120.23 153[label="error []",fontsize=16,color="red",shape="box"];154 -> 47[label="",style="dashed", color="red", weight=0]; 161.45/120.23 154[label="primPlusNat (primMulNat vuz4100 (Succ vuz3100)) (Succ vuz3100)",fontsize=16,color="magenta"];154 -> 162[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 154 -> 163[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 155[label="Zero",fontsize=16,color="green",shape="box"];156[label="Zero",fontsize=16,color="green",shape="box"];157[label="Zero",fontsize=16,color="green",shape="box"];1066[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1066 -> 1091[label="",style="solid", color="black", weight=3]; 161.45/120.23 1067[label="Integer vuz1010 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1067 -> 1092[label="",style="solid", color="black", weight=3]; 161.45/120.23 159[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1481[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];159 -> 1481[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1481 -> 166[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1482[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 1482[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1482 -> 167[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 160[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1483[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];160 -> 1483[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1483 -> 168[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1484[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];160 -> 1484[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1484 -> 169[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 161[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) :% (vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21))",fontsize=16,color="green",shape="box"];161 -> 170[label="",style="dashed", color="green", weight=3]; 161.45/120.23 161 -> 171[label="",style="dashed", color="green", weight=3]; 161.45/120.23 162 -> 122[label="",style="dashed", color="red", weight=0]; 161.45/120.23 162[label="primMulNat vuz4100 (Succ vuz3100)",fontsize=16,color="magenta"];162 -> 172[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 162 -> 173[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 163[label="Succ vuz3100",fontsize=16,color="green",shape="box"];1091[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1091 -> 1142[label="",style="dashed", color="green", weight=3]; 161.45/120.23 1092[label="primEqInt vuz1010 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1485[label="vuz1010/Pos vuz10100",fontsize=10,color="white",style="solid",shape="box"];1092 -> 1485[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1485 -> 1143[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1486[label="vuz1010/Neg vuz10100",fontsize=10,color="white",style="solid",shape="box"];1092 -> 1486[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1486 -> 1144[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 166[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];166 -> 177[label="",style="solid", color="black", weight=3]; 161.45/120.23 167[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];167 -> 178[label="",style="solid", color="black", weight=3]; 161.45/120.23 168[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];168 -> 179[label="",style="solid", color="black", weight=3]; 161.45/120.23 169[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];169 -> 180[label="",style="solid", color="black", weight=3]; 161.45/120.23 170[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1487[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];170 -> 1487[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1487 -> 181[label="",style="solid", color="blue", weight=3]; 161.45/120.23 1488[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];170 -> 1488[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1488 -> 182[label="",style="solid", color="blue", weight=3]; 161.45/120.23 171[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1489[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];171 -> 1489[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1489 -> 183[label="",style="solid", color="blue", weight=3]; 161.45/120.23 1490[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];171 -> 1490[label="",style="solid", color="blue", weight=9]; 161.45/120.23 1490 -> 184[label="",style="solid", color="blue", weight=3]; 161.45/120.23 172[label="Succ vuz3100",fontsize=16,color="green",shape="box"];173[label="vuz4100",fontsize=16,color="green",shape="box"];1142 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1142[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1142 -> 1158[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1142 -> 1159[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1143[label="primEqInt (Pos vuz10100) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1491[label="vuz10100/Succ vuz101000",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1491[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1491 -> 1160[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1492[label="vuz10100/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1492[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1492 -> 1161[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1144[label="primEqInt (Neg vuz10100) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1493[label="vuz10100/Succ vuz101000",fontsize=10,color="white",style="solid",shape="box"];1144 -> 1493[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1493 -> 1162[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1494[label="vuz10100/Zero",fontsize=10,color="white",style="solid",shape="box"];1144 -> 1494[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1494 -> 1163[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 177[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];177 -> 186[label="",style="solid", color="black", weight=3]; 161.45/120.23 178[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];178 -> 187[label="",style="solid", color="black", weight=3]; 161.45/120.23 179[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];179 -> 188[label="",style="solid", color="black", weight=3]; 161.45/120.23 180[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];180 -> 189[label="",style="solid", color="black", weight=3]; 161.45/120.23 181[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1495[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];181 -> 1495[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1495 -> 190[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 182 -> 223[label="",style="dashed", color="red", weight=0]; 161.45/120.23 182[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];182 -> 224[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 182 -> 225[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 182 -> 226[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 183[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1496[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];183 -> 1496[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1496 -> 197[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 184 -> 223[label="",style="dashed", color="red", weight=0]; 161.45/120.23 184[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];184 -> 227[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 184 -> 228[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 184 -> 229[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1158[label="vuz110",fontsize=16,color="green",shape="box"];1159[label="vuz130",fontsize=16,color="green",shape="box"];1160[label="primEqInt (Pos (Succ vuz101000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1160 -> 1179[label="",style="solid", color="black", weight=3]; 161.45/120.23 1161[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1161 -> 1180[label="",style="solid", color="black", weight=3]; 161.45/120.23 1162[label="primEqInt (Neg (Succ vuz101000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1162 -> 1181[label="",style="solid", color="black", weight=3]; 161.45/120.23 1163[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1163 -> 1182[label="",style="solid", color="black", weight=3]; 161.45/120.23 186[label="False",fontsize=16,color="green",shape="box"];187[label="True",fontsize=16,color="green",shape="box"];188[label="False",fontsize=16,color="green",shape="box"];189[label="True",fontsize=16,color="green",shape="box"];190[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1497[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];190 -> 1497[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1497 -> 213[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 224 -> 231[label="",style="dashed", color="red", weight=0]; 161.45/120.23 224[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];224 -> 232[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 224 -> 233[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 225 -> 231[label="",style="dashed", color="red", weight=0]; 161.45/120.23 225[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];225 -> 234[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 225 -> 235[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 226 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 226[label="vuz23 * vuz21",fontsize=16,color="magenta"];226 -> 238[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 226 -> 239[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 223[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];223 -> 240[label="",style="solid", color="black", weight=3]; 161.45/120.23 197[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1498[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];197 -> 1498[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1498 -> 241[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 227 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 227[label="vuz23 * vuz21",fontsize=16,color="magenta"];227 -> 242[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 227 -> 243[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 228 -> 231[label="",style="dashed", color="red", weight=0]; 161.45/120.23 228[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];228 -> 236[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 228 -> 237[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 229 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 229[label="vuz23 * vuz21",fontsize=16,color="magenta"];229 -> 244[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 229 -> 245[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1179[label="False",fontsize=16,color="green",shape="box"];1180[label="True",fontsize=16,color="green",shape="box"];1181[label="False",fontsize=16,color="green",shape="box"];1182[label="True",fontsize=16,color="green",shape="box"];213[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];213 -> 250[label="",style="solid", color="black", weight=3]; 161.45/120.23 232 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 232[label="vuz22 * vuz23",fontsize=16,color="magenta"];232 -> 251[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 232 -> 252[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 233 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 233[label="vuz20 * vuz21",fontsize=16,color="magenta"];233 -> 253[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 233 -> 254[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 231[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];231 -> 255[label="",style="solid", color="black", weight=3]; 161.45/120.23 234 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 234[label="vuz22 * vuz23",fontsize=16,color="magenta"];234 -> 256[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 234 -> 257[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 235 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 235[label="vuz20 * vuz21",fontsize=16,color="magenta"];235 -> 258[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 235 -> 259[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 238[label="vuz23",fontsize=16,color="green",shape="box"];239[label="vuz21",fontsize=16,color="green",shape="box"];240[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1499[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];240 -> 1499[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1499 -> 264[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1500[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];240 -> 1500[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1500 -> 265[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 241[label="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];241 -> 266[label="",style="solid", color="black", weight=3]; 161.45/120.23 242[label="vuz23",fontsize=16,color="green",shape="box"];243[label="vuz21",fontsize=16,color="green",shape="box"];236 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 236[label="vuz22 * vuz23",fontsize=16,color="magenta"];236 -> 260[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 236 -> 261[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 237 -> 40[label="",style="dashed", color="red", weight=0]; 161.45/120.23 237[label="vuz20 * vuz21",fontsize=16,color="magenta"];237 -> 262[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 237 -> 263[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 244[label="vuz23",fontsize=16,color="green",shape="box"];245[label="vuz21",fontsize=16,color="green",shape="box"];250 -> 271[label="",style="dashed", color="red", weight=0]; 161.45/120.23 250[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];250 -> 272[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 250 -> 273[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 251[label="vuz22",fontsize=16,color="green",shape="box"];252[label="vuz23",fontsize=16,color="green",shape="box"];253[label="vuz20",fontsize=16,color="green",shape="box"];254[label="vuz21",fontsize=16,color="green",shape="box"];255[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1501[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];255 -> 1501[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1501 -> 274[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1502[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];255 -> 1502[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1502 -> 275[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 256[label="vuz22",fontsize=16,color="green",shape="box"];257[label="vuz23",fontsize=16,color="green",shape="box"];258[label="vuz20",fontsize=16,color="green",shape="box"];259[label="vuz21",fontsize=16,color="green",shape="box"];264[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];264 -> 276[label="",style="solid", color="black", weight=3]; 161.45/120.23 265[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];265 -> 277[label="",style="solid", color="black", weight=3]; 161.45/120.23 266 -> 278[label="",style="dashed", color="red", weight=0]; 161.45/120.23 266[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];266 -> 279[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 266 -> 280[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 260[label="vuz22",fontsize=16,color="green",shape="box"];261[label="vuz23",fontsize=16,color="green",shape="box"];262[label="vuz20",fontsize=16,color="green",shape="box"];263[label="vuz21",fontsize=16,color="green",shape="box"];272 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 272[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];272 -> 281[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 272 -> 282[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 273 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 273[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];273 -> 283[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 273 -> 284[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 271[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1503[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];271 -> 1503[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1503 -> 285[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 274[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1504[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];274 -> 1504[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1504 -> 286[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1505[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];274 -> 1505[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1505 -> 287[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 275[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1506[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];275 -> 1506[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1506 -> 288[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1507[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];275 -> 1507[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1507 -> 289[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 276 -> 419[label="",style="dashed", color="red", weight=0]; 161.45/120.23 276[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];276 -> 420[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 277 -> 447[label="",style="dashed", color="red", weight=0]; 161.45/120.23 277[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];277 -> 448[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 279 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 279[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];279 -> 292[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 279 -> 293[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 280 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 280[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];280 -> 294[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 280 -> 295[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 278[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];278 -> 296[label="",style="solid", color="black", weight=3]; 161.45/120.23 281[label="vuz200",fontsize=16,color="green",shape="box"];282[label="vuz210",fontsize=16,color="green",shape="box"];283[label="vuz200",fontsize=16,color="green",shape="box"];284[label="vuz210",fontsize=16,color="green",shape="box"];285[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1508[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];285 -> 1508[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1508 -> 297[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 286[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];286 -> 298[label="",style="solid", color="black", weight=3]; 161.45/120.23 287[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];287 -> 299[label="",style="solid", color="black", weight=3]; 161.45/120.23 288[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];288 -> 300[label="",style="solid", color="black", weight=3]; 161.45/120.23 289[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];289 -> 301[label="",style="solid", color="black", weight=3]; 161.45/120.23 420[label="gcd vuz38 vuz33",fontsize=16,color="black",shape="triangle"];420 -> 436[label="",style="solid", color="black", weight=3]; 161.45/120.23 419[label="primQuotInt (Pos vuz320) vuz65",fontsize=16,color="burlywood",shape="triangle"];1509[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];419 -> 1509[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1509 -> 437[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1510[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];419 -> 1510[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1510 -> 438[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 448 -> 420[label="",style="dashed", color="red", weight=0]; 161.45/120.23 448[label="gcd vuz38 vuz33",fontsize=16,color="magenta"];447[label="primQuotInt (Neg vuz320) vuz68",fontsize=16,color="burlywood",shape="triangle"];1511[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];447 -> 1511[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1511 -> 464[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1512[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];447 -> 1512[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1512 -> 465[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 292[label="vuz230",fontsize=16,color="green",shape="box"];293[label="vuz210",fontsize=16,color="green",shape="box"];294[label="vuz230",fontsize=16,color="green",shape="box"];295[label="vuz210",fontsize=16,color="green",shape="box"];296[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];296 -> 304[label="",style="solid", color="black", weight=3]; 161.45/120.23 297[label="(Integer vuz41 + Integer vuz220 * Integer vuz230) `quot` reduce2D (Integer vuz42 + Integer vuz220 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];297 -> 305[label="",style="solid", color="black", weight=3]; 161.45/120.23 298[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];298 -> 306[label="",style="dashed", color="green", weight=3]; 161.45/120.23 299 -> 34[label="",style="dashed", color="red", weight=0]; 161.45/120.23 299[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];299 -> 307[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 299 -> 308[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 300 -> 34[label="",style="dashed", color="red", weight=0]; 161.45/120.23 300[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];300 -> 309[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 300 -> 310[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 301[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];301 -> 311[label="",style="dashed", color="green", weight=3]; 161.45/120.23 436[label="gcd3 vuz38 vuz33",fontsize=16,color="black",shape="box"];436 -> 442[label="",style="solid", color="black", weight=3]; 161.45/120.23 437[label="primQuotInt (Pos vuz320) (Pos vuz650)",fontsize=16,color="burlywood",shape="box"];1513[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];437 -> 1513[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1513 -> 443[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1514[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];437 -> 1514[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1514 -> 444[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 438[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1515[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];438 -> 1515[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1515 -> 445[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1516[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];438 -> 1516[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1516 -> 446[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 464[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1517[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];464 -> 1517[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1517 -> 468[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1518[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];464 -> 1518[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1518 -> 469[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 465[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1519[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];465 -> 1519[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1519 -> 470[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1520[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];465 -> 1520[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1520 -> 471[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 304[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];304 -> 316[label="",style="solid", color="black", weight=3]; 161.45/120.23 305 -> 317[label="",style="dashed", color="red", weight=0]; 161.45/120.23 305[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];305 -> 318[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 305 -> 319[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 306 -> 47[label="",style="dashed", color="red", weight=0]; 161.45/120.23 306[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];306 -> 320[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 306 -> 321[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 307[label="vuz400",fontsize=16,color="green",shape="box"];308[label="vuz390",fontsize=16,color="green",shape="box"];309[label="vuz390",fontsize=16,color="green",shape="box"];310[label="vuz400",fontsize=16,color="green",shape="box"];311 -> 47[label="",style="dashed", color="red", weight=0]; 161.45/120.23 311[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];311 -> 322[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 311 -> 323[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 442 -> 466[label="",style="dashed", color="red", weight=0]; 161.45/120.23 442[label="gcd2 (vuz38 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];442 -> 467[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 443[label="primQuotInt (Pos vuz320) (Pos (Succ vuz6500))",fontsize=16,color="black",shape="box"];443 -> 472[label="",style="solid", color="black", weight=3]; 161.45/120.23 444[label="primQuotInt (Pos vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];444 -> 473[label="",style="solid", color="black", weight=3]; 161.45/120.23 445[label="primQuotInt (Pos vuz320) (Neg (Succ vuz6500))",fontsize=16,color="black",shape="box"];445 -> 474[label="",style="solid", color="black", weight=3]; 161.45/120.23 446[label="primQuotInt (Pos vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];446 -> 475[label="",style="solid", color="black", weight=3]; 161.45/120.23 468[label="primQuotInt (Neg vuz320) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];468 -> 487[label="",style="solid", color="black", weight=3]; 161.45/120.23 469[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];469 -> 488[label="",style="solid", color="black", weight=3]; 161.45/120.23 470[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];470 -> 489[label="",style="solid", color="black", weight=3]; 161.45/120.23 471[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];471 -> 490[label="",style="solid", color="black", weight=3]; 161.45/120.23 316[label="Integer vuz43 `quot` gcd2 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="box"];1521[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];316 -> 1521[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1521 -> 330[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 318 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 318[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];318 -> 331[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 318 -> 332[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 319 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 319[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];319 -> 333[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 319 -> 334[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 317[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];317 -> 335[label="",style="solid", color="black", weight=3]; 161.45/120.23 320[label="vuz400",fontsize=16,color="green",shape="box"];321[label="vuz390",fontsize=16,color="green",shape="box"];322[label="vuz400",fontsize=16,color="green",shape="box"];323[label="vuz390",fontsize=16,color="green",shape="box"];467 -> 140[label="",style="dashed", color="red", weight=0]; 161.45/120.23 467[label="vuz38 == fromInt (Pos Zero)",fontsize=16,color="magenta"];467 -> 476[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 466[label="gcd2 vuz69 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1522[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];466 -> 1522[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1522 -> 477[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1523[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];466 -> 1523[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1523 -> 478[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 472[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];472 -> 491[label="",style="dashed", color="green", weight=3]; 161.45/120.23 473[label="error []",fontsize=16,color="black",shape="triangle"];473 -> 492[label="",style="solid", color="black", weight=3]; 161.45/120.23 474[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];474 -> 493[label="",style="dashed", color="green", weight=3]; 161.45/120.23 475 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.23 475[label="error []",fontsize=16,color="magenta"];487[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];487 -> 505[label="",style="dashed", color="green", weight=3]; 161.45/120.23 488 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.23 488[label="error []",fontsize=16,color="magenta"];489[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];489 -> 506[label="",style="dashed", color="green", weight=3]; 161.45/120.23 490 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.23 490[label="error []",fontsize=16,color="magenta"];330[label="Integer vuz43 `quot` gcd2 (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];330 -> 340[label="",style="solid", color="black", weight=3]; 161.45/120.23 331[label="vuz220",fontsize=16,color="green",shape="box"];332[label="vuz230",fontsize=16,color="green",shape="box"];333[label="vuz220",fontsize=16,color="green",shape="box"];334[label="vuz230",fontsize=16,color="green",shape="box"];335 -> 341[label="",style="dashed", color="red", weight=0]; 161.45/120.23 335[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];335 -> 342[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 335 -> 343[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 476[label="vuz38",fontsize=16,color="green",shape="box"];477[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];477 -> 494[label="",style="solid", color="black", weight=3]; 161.45/120.23 478[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];478 -> 495[label="",style="solid", color="black", weight=3]; 161.45/120.23 491[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];491 -> 1524[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1524 -> 507[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1525[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];491 -> 1525[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1525 -> 508[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 492[label="error []",fontsize=16,color="red",shape="box"];493 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.23 493[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];493 -> 509[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 505 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.23 505[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];505 -> 513[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 505 -> 514[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 506 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.23 506[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];506 -> 515[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 506 -> 516[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 340 -> 350[label="",style="dashed", color="red", weight=0]; 161.45/120.23 340[label="Integer vuz43 `quot` gcd2 (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="magenta"];340 -> 351[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 340 -> 352[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 342 -> 255[label="",style="dashed", color="red", weight=0]; 161.45/120.23 342[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];342 -> 353[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 342 -> 354[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 343 -> 255[label="",style="dashed", color="red", weight=0]; 161.45/120.23 343[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];343 -> 355[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 343 -> 356[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 341[label="Integer vuz49 `quot` reduce2D (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];341 -> 357[label="",style="solid", color="black", weight=3]; 161.45/120.23 494[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];494 -> 510[label="",style="solid", color="black", weight=3]; 161.45/120.23 495 -> 511[label="",style="dashed", color="red", weight=0]; 161.45/120.23 495[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];495 -> 512[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 507[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];507 -> 517[label="",style="solid", color="black", weight=3]; 161.45/120.23 508[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];508 -> 518[label="",style="solid", color="black", weight=3]; 161.45/120.23 509[label="vuz6500",fontsize=16,color="green",shape="box"];513[label="vuz320",fontsize=16,color="green",shape="box"];514[label="vuz6800",fontsize=16,color="green",shape="box"];515[label="vuz320",fontsize=16,color="green",shape="box"];516[label="vuz6800",fontsize=16,color="green",shape="box"];351 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 351[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];351 -> 366[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 351 -> 367[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 352 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 352[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];352 -> 368[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 352 -> 369[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 350[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1526[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];350 -> 1526[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1526 -> 370[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 353[label="vuz47",fontsize=16,color="green",shape="box"];354[label="vuz41",fontsize=16,color="green",shape="box"];355[label="vuz47",fontsize=16,color="green",shape="box"];356[label="vuz41",fontsize=16,color="green",shape="box"];357[label="Integer vuz49 `quot` gcd (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];357 -> 371[label="",style="solid", color="black", weight=3]; 161.45/120.23 510[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];510 -> 519[label="",style="solid", color="black", weight=3]; 161.45/120.23 512 -> 140[label="",style="dashed", color="red", weight=0]; 161.45/120.23 512[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];512 -> 520[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 511[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1527[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];511 -> 1527[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1527 -> 521[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1528[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];511 -> 1528[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1528 -> 522[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 517[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1529[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];517 -> 1529[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1529 -> 526[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1530[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];517 -> 1530[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1530 -> 527[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 518[label="Zero",fontsize=16,color="green",shape="box"];366[label="vuz200",fontsize=16,color="green",shape="box"];367[label="vuz210",fontsize=16,color="green",shape="box"];368[label="vuz200",fontsize=16,color="green",shape="box"];369[label="vuz210",fontsize=16,color="green",shape="box"];370[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz220 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz220 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];370 -> 378[label="",style="solid", color="black", weight=3]; 161.45/120.23 371[label="Integer vuz49 `quot` gcd3 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];371 -> 379[label="",style="solid", color="black", weight=3]; 161.45/120.23 519[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];519 -> 528[label="",style="solid", color="black", weight=3]; 161.45/120.23 520[label="vuz33",fontsize=16,color="green",shape="box"];521[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];521 -> 529[label="",style="solid", color="black", weight=3]; 161.45/120.23 522[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];522 -> 530[label="",style="solid", color="black", weight=3]; 161.45/120.23 526[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1531[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];526 -> 1531[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1531 -> 538[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1532[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];526 -> 1532[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1532 -> 539[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 527[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1533[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];527 -> 1533[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1533 -> 540[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1534[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];527 -> 1534[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1534 -> 541[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 378 -> 386[label="",style="dashed", color="red", weight=0]; 161.45/120.23 378[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer (primMulInt vuz220 vuz230) == fromInt (Pos Zero)) (Integer vuz53 + Integer (primMulInt vuz220 vuz230)) (Integer vuz44)",fontsize=16,color="magenta"];378 -> 387[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 378 -> 388[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 379 -> 389[label="",style="dashed", color="red", weight=0]; 161.45/120.23 379[label="Integer vuz49 `quot` gcd2 (Integer vuz50 == fromInt (Pos Zero)) (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];379 -> 390[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 528 -> 542[label="",style="dashed", color="red", weight=0]; 161.45/120.23 528[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];528 -> 543[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 529 -> 494[label="",style="dashed", color="red", weight=0]; 161.45/120.23 529[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];530 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.23 530[label="error []",fontsize=16,color="magenta"];538[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];538 -> 544[label="",style="solid", color="black", weight=3]; 161.45/120.23 539[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];539 -> 545[label="",style="solid", color="black", weight=3]; 161.45/120.23 540[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];540 -> 546[label="",style="solid", color="black", weight=3]; 161.45/120.23 541[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];541 -> 547[label="",style="solid", color="black", weight=3]; 161.45/120.23 387 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 387[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];387 -> 397[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 387 -> 398[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 388 -> 58[label="",style="dashed", color="red", weight=0]; 161.45/120.23 388[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];388 -> 399[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 388 -> 400[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 386[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];386 -> 401[label="",style="solid", color="black", weight=3]; 161.45/120.23 390 -> 1046[label="",style="dashed", color="red", weight=0]; 161.45/120.23 390[label="Integer vuz50 == fromInt (Pos Zero)",fontsize=16,color="magenta"];390 -> 1050[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 389[label="Integer vuz49 `quot` gcd2 vuz59 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1535[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];389 -> 1535[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1535 -> 403[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1536[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];389 -> 1536[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1536 -> 404[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 543 -> 140[label="",style="dashed", color="red", weight=0]; 161.45/120.23 543[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];543 -> 548[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 542[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1537[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];542 -> 1537[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1537 -> 549[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1538[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];542 -> 1538[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1538 -> 550[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 544 -> 1101[label="",style="dashed", color="red", weight=0]; 161.45/120.23 544[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];544 -> 1102[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 544 -> 1103[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 544 -> 1104[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 544 -> 1105[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 545[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];545 -> 558[label="",style="solid", color="black", weight=3]; 161.45/120.23 546[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];546 -> 559[label="",style="solid", color="black", weight=3]; 161.45/120.23 547[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];547 -> 560[label="",style="solid", color="black", weight=3]; 161.45/120.23 397[label="vuz220",fontsize=16,color="green",shape="box"];398[label="vuz230",fontsize=16,color="green",shape="box"];399[label="vuz220",fontsize=16,color="green",shape="box"];400[label="vuz230",fontsize=16,color="green",shape="box"];401 -> 410[label="",style="dashed", color="red", weight=0]; 161.45/120.23 401[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];401 -> 411[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 401 -> 412[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1050[label="Integer vuz50",fontsize=16,color="green",shape="box"];403[label="Integer vuz49 `quot` gcd2 False (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];403 -> 413[label="",style="solid", color="black", weight=3]; 161.45/120.23 404[label="Integer vuz49 `quot` gcd2 True (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];404 -> 414[label="",style="solid", color="black", weight=3]; 161.45/120.23 548[label="abs vuz33",fontsize=16,color="black",shape="triangle"];548 -> 561[label="",style="solid", color="black", weight=3]; 161.45/120.23 549[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];549 -> 562[label="",style="solid", color="black", weight=3]; 161.45/120.23 550[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];550 -> 563[label="",style="solid", color="black", weight=3]; 161.45/120.23 1102[label="vuz32000",fontsize=16,color="green",shape="box"];1103[label="vuz65000",fontsize=16,color="green",shape="box"];1104[label="vuz65000",fontsize=16,color="green",shape="box"];1105[label="vuz32000",fontsize=16,color="green",shape="box"];1101[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz106 vuz107)",fontsize=16,color="burlywood",shape="triangle"];1539[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1539[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1539 -> 1145[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1540[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1540[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1540 -> 1146[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 558[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];558 -> 571[label="",style="dashed", color="green", weight=3]; 161.45/120.23 559[label="Zero",fontsize=16,color="green",shape="box"];560[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];560 -> 572[label="",style="dashed", color="green", weight=3]; 161.45/120.23 411 -> 255[label="",style="dashed", color="red", weight=0]; 161.45/120.23 411[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];411 -> 479[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 411 -> 480[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 412 -> 1046[label="",style="dashed", color="red", weight=0]; 161.45/120.23 412[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];412 -> 1051[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 410[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1541[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];410 -> 1541[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1541 -> 482[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1542[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];410 -> 1542[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1542 -> 483[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 413[label="Integer vuz49 `quot` gcd0 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];413 -> 484[label="",style="solid", color="black", weight=3]; 161.45/120.23 414 -> 485[label="",style="dashed", color="red", weight=0]; 161.45/120.23 414[label="Integer vuz49 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];414 -> 486[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 561[label="absReal vuz33",fontsize=16,color="black",shape="box"];561 -> 573[label="",style="solid", color="black", weight=3]; 161.45/120.23 562 -> 574[label="",style="dashed", color="red", weight=0]; 161.45/120.23 562[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];562 -> 575[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 562 -> 576[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 563 -> 548[label="",style="dashed", color="red", weight=0]; 161.45/120.23 563[label="abs vuz38",fontsize=16,color="magenta"];563 -> 577[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1145[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) vuz107)",fontsize=16,color="burlywood",shape="box"];1543[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];1145 -> 1543[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1543 -> 1164[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1544[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];1145 -> 1544[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1544 -> 1165[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1146[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero vuz107)",fontsize=16,color="burlywood",shape="box"];1545[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];1146 -> 1545[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1545 -> 1166[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1546[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];1146 -> 1546[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1546 -> 1167[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 571 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.23 571[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];571 -> 582[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 571 -> 583[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 572 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.23 572[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];572 -> 584[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 572 -> 585[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 479[label="vuz58",fontsize=16,color="green",shape="box"];480[label="vuz54",fontsize=16,color="green",shape="box"];1051[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1051 -> 1059[label="",style="dashed", color="green", weight=3]; 161.45/120.23 482[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];482 -> 498[label="",style="solid", color="black", weight=3]; 161.45/120.23 483[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];483 -> 499[label="",style="solid", color="black", weight=3]; 161.45/120.23 484[label="Integer vuz49 `quot` gcd0Gcd' (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];484 -> 500[label="",style="solid", color="black", weight=3]; 161.45/120.23 486 -> 1046[label="",style="dashed", color="red", weight=0]; 161.45/120.23 486[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];486 -> 1052[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 485[label="Integer vuz49 `quot` gcd1 vuz70 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1547[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];485 -> 1547[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1547 -> 503[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1548[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];485 -> 1548[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1548 -> 504[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 573[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];573 -> 586[label="",style="solid", color="black", weight=3]; 161.45/120.23 575 -> 548[label="",style="dashed", color="red", weight=0]; 161.45/120.23 575[label="abs vuz33",fontsize=16,color="magenta"];576 -> 548[label="",style="dashed", color="red", weight=0]; 161.45/120.23 576[label="abs vuz38",fontsize=16,color="magenta"];576 -> 587[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 574[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];574 -> 588[label="",style="solid", color="black", weight=3]; 161.45/120.23 577[label="vuz38",fontsize=16,color="green",shape="box"];1164[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) (Succ vuz1070))",fontsize=16,color="black",shape="box"];1164 -> 1183[label="",style="solid", color="black", weight=3]; 161.45/120.23 1165[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) Zero)",fontsize=16,color="black",shape="box"];1165 -> 1184[label="",style="solid", color="black", weight=3]; 161.45/120.23 1166[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero (Succ vuz1070))",fontsize=16,color="black",shape="box"];1166 -> 1185[label="",style="solid", color="black", weight=3]; 161.45/120.23 1167[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1167 -> 1186[label="",style="solid", color="black", weight=3]; 161.45/120.23 582[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];582 -> 596[label="",style="solid", color="black", weight=3]; 161.45/120.23 583[label="Zero",fontsize=16,color="green",shape="box"];584[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];584 -> 597[label="",style="solid", color="black", weight=3]; 161.45/120.23 585[label="Zero",fontsize=16,color="green",shape="box"];1059 -> 255[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1059[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1059 -> 1068[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1059 -> 1069[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 498[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];498 -> 523[label="",style="solid", color="black", weight=3]; 161.45/120.23 499 -> 524[label="",style="dashed", color="red", weight=0]; 161.45/120.23 499[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];499 -> 525[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 500[label="Integer vuz49 `quot` gcd0Gcd'2 (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];500 -> 531[label="",style="solid", color="black", weight=3]; 161.45/120.23 1052 -> 1047[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1052[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1052 -> 1060[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1052 -> 1061[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 503[label="Integer vuz49 `quot` gcd1 False (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];503 -> 532[label="",style="solid", color="black", weight=3]; 161.45/120.23 504[label="Integer vuz49 `quot` gcd1 True (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];504 -> 533[label="",style="solid", color="black", weight=3]; 161.45/120.23 586[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];586 -> 598[label="",style="solid", color="black", weight=3]; 161.45/120.23 587[label="vuz38",fontsize=16,color="green",shape="box"];588[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];588 -> 599[label="",style="solid", color="black", weight=3]; 161.45/120.23 1183 -> 1101[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1183[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz1060 vuz1070)",fontsize=16,color="magenta"];1183 -> 1196[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1183 -> 1197[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1184[label="primDivNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="black",shape="triangle"];1184 -> 1198[label="",style="solid", color="black", weight=3]; 161.45/120.23 1185[label="primDivNatS0 (Succ vuz104) (Succ vuz105) False",fontsize=16,color="black",shape="box"];1185 -> 1199[label="",style="solid", color="black", weight=3]; 161.45/120.23 1186 -> 1184[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1186[label="primDivNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="magenta"];596[label="Succ vuz32000",fontsize=16,color="green",shape="box"];597[label="Zero",fontsize=16,color="green",shape="box"];1068[label="vuz58",fontsize=16,color="green",shape="box"];1069[label="vuz54",fontsize=16,color="green",shape="box"];523[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];523 -> 534[label="",style="solid", color="black", weight=3]; 161.45/120.23 525 -> 1046[label="",style="dashed", color="red", weight=0]; 161.45/120.23 525[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];525 -> 1053[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 524[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1549[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];524 -> 1549[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1549 -> 536[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1550[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];524 -> 1550[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1550 -> 537[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 531 -> 1028[label="",style="dashed", color="red", weight=0]; 161.45/120.23 531[label="Integer vuz49 `quot` gcd0Gcd'1 (abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)) (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="magenta"];531 -> 1029[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 531 -> 1030[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 531 -> 1031[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1060[label="Integer vuz210",fontsize=16,color="green",shape="box"];1061[label="Integer vuz230",fontsize=16,color="green",shape="box"];532 -> 413[label="",style="dashed", color="red", weight=0]; 161.45/120.23 532[label="Integer vuz49 `quot` gcd0 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];533[label="Integer vuz49 `quot` error []",fontsize=16,color="black",shape="triangle"];533 -> 552[label="",style="solid", color="black", weight=3]; 161.45/120.23 598[label="absReal1 vuz33 (compare vuz33 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];598 -> 608[label="",style="solid", color="black", weight=3]; 161.45/120.23 599[label="gcd0Gcd'2 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];599 -> 609[label="",style="solid", color="black", weight=3]; 161.45/120.23 1196[label="vuz1070",fontsize=16,color="green",shape="box"];1197[label="vuz1060",fontsize=16,color="green",shape="box"];1198[label="Succ (primDivNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105)))",fontsize=16,color="green",shape="box"];1198 -> 1202[label="",style="dashed", color="green", weight=3]; 161.45/120.23 1199[label="Zero",fontsize=16,color="green",shape="box"];534[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];534 -> 553[label="",style="solid", color="black", weight=3]; 161.45/120.23 1053[label="Integer vuz44",fontsize=16,color="green",shape="box"];536[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];536 -> 554[label="",style="solid", color="black", weight=3]; 161.45/120.23 537[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];537 -> 555[label="",style="solid", color="black", weight=3]; 161.45/120.23 1029[label="abs (Integer vuz50)",fontsize=16,color="black",shape="triangle"];1029 -> 1040[label="",style="solid", color="black", weight=3]; 161.45/120.23 1030 -> 1046[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1030[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1030 -> 1054[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1031[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1031 -> 1042[label="",style="solid", color="black", weight=3]; 161.45/120.23 1028[label="Integer vuz49 `quot` gcd0Gcd'1 vuz100 vuz99 vuz97",fontsize=16,color="burlywood",shape="triangle"];1551[label="vuz100/False",fontsize=10,color="white",style="solid",shape="box"];1028 -> 1551[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1551 -> 1043[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1552[label="vuz100/True",fontsize=10,color="white",style="solid",shape="box"];1028 -> 1552[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1552 -> 1044[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 552[label="error []",fontsize=16,color="red",shape="box"];608[label="absReal1 vuz33 (not (compare vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];608 -> 620[label="",style="solid", color="black", weight=3]; 161.45/120.23 609 -> 621[label="",style="dashed", color="red", weight=0]; 161.45/120.23 609[label="gcd0Gcd'1 (vuz75 `rem` vuz74 == fromInt (Pos Zero)) vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];609 -> 622[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1202 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1202[label="primDivNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105))",fontsize=16,color="magenta"];1202 -> 1219[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1202 -> 1220[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 553 -> 1028[label="",style="dashed", color="red", weight=0]; 161.45/120.23 553[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];553 -> 1034[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 553 -> 1035[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 553 -> 1036[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 553 -> 1037[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 554 -> 498[label="",style="dashed", color="red", weight=0]; 161.45/120.23 554[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];555 -> 533[label="",style="dashed", color="red", weight=0]; 161.45/120.23 555[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];555 -> 566[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1040 -> 1063[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1040[label="absReal (Integer vuz50)",fontsize=16,color="magenta"];1040 -> 1064[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1054 -> 1031[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1054[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1042 -> 1063[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1042[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1042 -> 1065[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1043[label="Integer vuz49 `quot` gcd0Gcd'1 False vuz99 vuz97",fontsize=16,color="black",shape="box"];1043 -> 1070[label="",style="solid", color="black", weight=3]; 161.45/120.23 1044[label="Integer vuz49 `quot` gcd0Gcd'1 True vuz99 vuz97",fontsize=16,color="black",shape="box"];1044 -> 1071[label="",style="solid", color="black", weight=3]; 161.45/120.23 620[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1553[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];620 -> 1553[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1553 -> 630[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1554[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];620 -> 1554[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1554 -> 631[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 622 -> 140[label="",style="dashed", color="red", weight=0]; 161.45/120.23 622[label="vuz75 `rem` vuz74 == fromInt (Pos Zero)",fontsize=16,color="magenta"];622 -> 632[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 621[label="gcd0Gcd'1 vuz76 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="burlywood",shape="triangle"];1555[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];621 -> 1555[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1555 -> 633[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1556[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];621 -> 1556[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1556 -> 634[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1219 -> 885[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1219[label="primMinusNatS (Succ vuz104) (Succ vuz105)",fontsize=16,color="magenta"];1219 -> 1241[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1219 -> 1242[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1220[label="Succ vuz105",fontsize=16,color="green",shape="box"];1034 -> 1029[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1034[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1034 -> 1045[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1035 -> 1046[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1035[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1035 -> 1056[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1036[label="vuz43",fontsize=16,color="green",shape="box"];1037 -> 1029[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1037[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1037 -> 1072[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 566[label="vuz43",fontsize=16,color="green",shape="box"];1064[label="Integer vuz50",fontsize=16,color="green",shape="box"];1063[label="absReal vuz102",fontsize=16,color="black",shape="triangle"];1063 -> 1073[label="",style="solid", color="black", weight=3]; 161.45/120.23 1065 -> 1047[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1065[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1065 -> 1074[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1065 -> 1075[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1070[label="Integer vuz49 `quot` gcd0Gcd'0 vuz99 vuz97",fontsize=16,color="black",shape="box"];1070 -> 1093[label="",style="solid", color="black", weight=3]; 161.45/120.23 1071[label="Integer vuz49 `quot` vuz99",fontsize=16,color="burlywood",shape="triangle"];1557[label="vuz99/Integer vuz990",fontsize=10,color="white",style="solid",shape="box"];1071 -> 1557[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1557 -> 1094[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 630[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1558[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];630 -> 1558[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1558 -> 644[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1559[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];630 -> 1559[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1559 -> 645[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 631[label="absReal1 (Neg vuz330) (not (primCmpInt (Neg vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1560[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];631 -> 1560[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1560 -> 646[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1561[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];631 -> 1561[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1561 -> 647[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 632[label="vuz75 `rem` vuz74",fontsize=16,color="black",shape="triangle"];632 -> 648[label="",style="solid", color="black", weight=3]; 161.45/120.23 633[label="gcd0Gcd'1 False vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];633 -> 649[label="",style="solid", color="black", weight=3]; 161.45/120.23 634[label="gcd0Gcd'1 True vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];634 -> 650[label="",style="solid", color="black", weight=3]; 161.45/120.23 1241[label="Succ vuz104",fontsize=16,color="green",shape="box"];1242[label="Succ vuz105",fontsize=16,color="green",shape="box"];885[label="primMinusNatS vuz94 vuz95",fontsize=16,color="burlywood",shape="triangle"];1562[label="vuz94/Succ vuz940",fontsize=10,color="white",style="solid",shape="box"];885 -> 1562[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1562 -> 901[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1563[label="vuz94/Zero",fontsize=10,color="white",style="solid",shape="box"];885 -> 1563[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1563 -> 902[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1045[label="vuz61",fontsize=16,color="green",shape="box"];1056 -> 1029[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1056[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1056 -> 1076[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1072[label="vuz44",fontsize=16,color="green",shape="box"];1073[label="absReal2 vuz102",fontsize=16,color="black",shape="box"];1073 -> 1095[label="",style="solid", color="black", weight=3]; 161.45/120.23 1074[label="Integer vuz210",fontsize=16,color="green",shape="box"];1075[label="Integer vuz230",fontsize=16,color="green",shape="box"];1093 -> 1071[label="",style="dashed", color="red", weight=0]; 161.45/120.23 1093[label="Integer vuz49 `quot` gcd0Gcd' vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1093 -> 1147[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 1094[label="Integer vuz49 `quot` Integer vuz990",fontsize=16,color="black",shape="box"];1094 -> 1148[label="",style="solid", color="black", weight=3]; 161.45/120.23 644[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];644 -> 670[label="",style="solid", color="black", weight=3]; 161.45/120.23 645[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];645 -> 671[label="",style="solid", color="black", weight=3]; 161.45/120.23 646[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];646 -> 672[label="",style="solid", color="black", weight=3]; 161.45/120.23 647[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];647 -> 673[label="",style="solid", color="black", weight=3]; 161.45/120.23 648[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1564[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];648 -> 1564[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1564 -> 674[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1565[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];648 -> 1565[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1565 -> 675[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 649 -> 574[label="",style="dashed", color="red", weight=0]; 161.45/120.23 649[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];649 -> 676[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 649 -> 677[label="",style="dashed", color="magenta", weight=3]; 161.45/120.23 650[label="vuz74",fontsize=16,color="green",shape="box"];901[label="primMinusNatS (Succ vuz940) vuz95",fontsize=16,color="burlywood",shape="box"];1566[label="vuz95/Succ vuz950",fontsize=10,color="white",style="solid",shape="box"];901 -> 1566[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1566 -> 991[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1567[label="vuz95/Zero",fontsize=10,color="white",style="solid",shape="box"];901 -> 1567[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1567 -> 992[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 902[label="primMinusNatS Zero vuz95",fontsize=16,color="burlywood",shape="box"];1568[label="vuz95/Succ vuz950",fontsize=10,color="white",style="solid",shape="box"];902 -> 1568[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1568 -> 993[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1569[label="vuz95/Zero",fontsize=10,color="white",style="solid",shape="box"];902 -> 1569[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1569 -> 994[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1076[label="vuz44",fontsize=16,color="green",shape="box"];1095[label="absReal1 vuz102 (vuz102 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1095 -> 1149[label="",style="solid", color="black", weight=3]; 161.45/120.23 1147[label="gcd0Gcd' vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="triangle"];1147 -> 1168[label="",style="solid", color="black", weight=3]; 161.45/120.23 1148[label="Integer (primQuotInt vuz49 vuz990)",fontsize=16,color="green",shape="box"];1148 -> 1169[label="",style="dashed", color="green", weight=3]; 161.45/120.23 670[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];670 -> 694[label="",style="solid", color="black", weight=3]; 161.45/120.23 671[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];671 -> 695[label="",style="solid", color="black", weight=3]; 161.45/120.23 672[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];672 -> 696[label="",style="solid", color="black", weight=3]; 161.45/120.23 673[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];673 -> 697[label="",style="solid", color="black", weight=3]; 161.45/120.23 674[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1570[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];674 -> 1570[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1570 -> 698[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1571[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];674 -> 1571[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1571 -> 699[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 675[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1572[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];675 -> 1572[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1572 -> 700[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1573[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];675 -> 1573[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1573 -> 701[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 676 -> 632[label="",style="dashed", color="red", weight=0]; 161.45/120.23 676[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];677[label="vuz74",fontsize=16,color="green",shape="box"];991[label="primMinusNatS (Succ vuz940) (Succ vuz950)",fontsize=16,color="black",shape="box"];991 -> 1011[label="",style="solid", color="black", weight=3]; 161.45/120.23 992[label="primMinusNatS (Succ vuz940) Zero",fontsize=16,color="black",shape="box"];992 -> 1012[label="",style="solid", color="black", weight=3]; 161.45/120.23 993[label="primMinusNatS Zero (Succ vuz950)",fontsize=16,color="black",shape="box"];993 -> 1013[label="",style="solid", color="black", weight=3]; 161.45/120.23 994[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];994 -> 1014[label="",style="solid", color="black", weight=3]; 161.45/120.23 1149[label="absReal1 vuz102 (compare vuz102 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1149 -> 1170[label="",style="solid", color="black", weight=3]; 161.45/120.23 1168[label="gcd0Gcd'2 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1168 -> 1187[label="",style="solid", color="black", weight=3]; 161.45/120.23 1169[label="primQuotInt vuz49 vuz990",fontsize=16,color="burlywood",shape="box"];1574[label="vuz49/Pos vuz490",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1574[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1574 -> 1188[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 1575[label="vuz49/Neg vuz490",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1575[label="",style="solid", color="burlywood", weight=9]; 161.45/120.23 1575 -> 1189[label="",style="solid", color="burlywood", weight=3]; 161.45/120.23 694[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];694 -> 710[label="",style="solid", color="black", weight=3]; 161.45/120.23 695[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];695 -> 711[label="",style="solid", color="black", weight=3]; 161.45/120.23 696[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];696 -> 712[label="",style="solid", color="black", weight=3]; 161.45/120.23 697[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];697 -> 713[label="",style="solid", color="black", weight=3]; 161.45/120.23 698[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1576[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];698 -> 1576[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1576 -> 714[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1577[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];698 -> 1577[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1577 -> 715[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 699[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1578[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];699 -> 1578[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1578 -> 716[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1579[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];699 -> 1579[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1579 -> 717[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 700[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1580[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];700 -> 1580[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1580 -> 718[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1581[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];700 -> 1581[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1581 -> 719[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 701[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1582[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];701 -> 1582[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1582 -> 720[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1583[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];701 -> 1583[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1583 -> 721[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1011 -> 885[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1011[label="primMinusNatS vuz940 vuz950",fontsize=16,color="magenta"];1011 -> 1077[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1011 -> 1078[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1012[label="Succ vuz940",fontsize=16,color="green",shape="box"];1013[label="Zero",fontsize=16,color="green",shape="box"];1014[label="Zero",fontsize=16,color="green",shape="box"];1170[label="absReal1 vuz102 (not (compare vuz102 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1584[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1170 -> 1584[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1584 -> 1190[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1187 -> 1200[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1187[label="gcd0Gcd'1 (vuz99 `rem` vuz97 == fromInt (Pos Zero)) vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1187 -> 1201[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1188[label="primQuotInt (Pos vuz490) vuz990",fontsize=16,color="burlywood",shape="box"];1585[label="vuz990/Pos vuz9900",fontsize=10,color="white",style="solid",shape="box"];1188 -> 1585[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1585 -> 1203[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1586[label="vuz990/Neg vuz9900",fontsize=10,color="white",style="solid",shape="box"];1188 -> 1586[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1586 -> 1204[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1189[label="primQuotInt (Neg vuz490) vuz990",fontsize=16,color="burlywood",shape="box"];1587[label="vuz990/Pos vuz9900",fontsize=10,color="white",style="solid",shape="box"];1189 -> 1587[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1587 -> 1205[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1588[label="vuz990/Neg vuz9900",fontsize=10,color="white",style="solid",shape="box"];1189 -> 1588[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1588 -> 1206[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 710[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];710 -> 732[label="",style="solid", color="black", weight=3]; 161.45/120.24 711[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];711 -> 733[label="",style="solid", color="black", weight=3]; 161.45/120.24 712[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];712 -> 734[label="",style="solid", color="black", weight=3]; 161.45/120.24 713[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];713 -> 735[label="",style="solid", color="black", weight=3]; 161.45/120.24 714[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];714 -> 736[label="",style="solid", color="black", weight=3]; 161.45/120.24 715[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];715 -> 737[label="",style="solid", color="black", weight=3]; 161.45/120.24 716[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];716 -> 738[label="",style="solid", color="black", weight=3]; 161.45/120.24 717[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];717 -> 739[label="",style="solid", color="black", weight=3]; 161.45/120.24 718[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];718 -> 740[label="",style="solid", color="black", weight=3]; 161.45/120.24 719[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];719 -> 741[label="",style="solid", color="black", weight=3]; 161.45/120.24 720[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];720 -> 742[label="",style="solid", color="black", weight=3]; 161.45/120.24 721[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];721 -> 743[label="",style="solid", color="black", weight=3]; 161.45/120.24 1077[label="vuz940",fontsize=16,color="green",shape="box"];1078[label="vuz950",fontsize=16,color="green",shape="box"];1190[label="absReal1 (Integer vuz1020) (not (compare (Integer vuz1020) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1190 -> 1207[label="",style="solid", color="black", weight=3]; 161.45/120.24 1201 -> 1046[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1201[label="vuz99 `rem` vuz97 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1201 -> 1208[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1200[label="gcd0Gcd'1 vuz108 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="burlywood",shape="triangle"];1589[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1589[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1589 -> 1209[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1590[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1590[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1590 -> 1210[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1203[label="primQuotInt (Pos vuz490) (Pos vuz9900)",fontsize=16,color="burlywood",shape="box"];1591[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1203 -> 1591[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1591 -> 1221[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1592[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1203 -> 1592[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1592 -> 1222[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1204[label="primQuotInt (Pos vuz490) (Neg vuz9900)",fontsize=16,color="burlywood",shape="box"];1593[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1204 -> 1593[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1593 -> 1223[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1594[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1204 -> 1594[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1594 -> 1224[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1205[label="primQuotInt (Neg vuz490) (Pos vuz9900)",fontsize=16,color="burlywood",shape="box"];1595[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1205 -> 1595[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1595 -> 1225[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1596[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1205 -> 1596[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1596 -> 1226[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1206[label="primQuotInt (Neg vuz490) (Neg vuz9900)",fontsize=16,color="burlywood",shape="box"];1597[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1206 -> 1597[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1597 -> 1227[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1598[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1206 -> 1598[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1598 -> 1228[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 732[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];732 -> 755[label="",style="solid", color="black", weight=3]; 161.45/120.24 733[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];733 -> 756[label="",style="solid", color="black", weight=3]; 161.45/120.24 734[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];734 -> 757[label="",style="solid", color="black", weight=3]; 161.45/120.24 735[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];735 -> 758[label="",style="solid", color="black", weight=3]; 161.45/120.24 736[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];736 -> 759[label="",style="dashed", color="green", weight=3]; 161.45/120.24 737 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.24 737[label="error []",fontsize=16,color="magenta"];738[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];738 -> 760[label="",style="dashed", color="green", weight=3]; 161.45/120.24 739 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.24 739[label="error []",fontsize=16,color="magenta"];740[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];740 -> 761[label="",style="dashed", color="green", weight=3]; 161.45/120.24 741 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.24 741[label="error []",fontsize=16,color="magenta"];742[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];742 -> 762[label="",style="dashed", color="green", weight=3]; 161.45/120.24 743 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.24 743[label="error []",fontsize=16,color="magenta"];1207[label="absReal1 (Integer vuz1020) (not (compare (Integer vuz1020) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1207 -> 1229[label="",style="solid", color="black", weight=3]; 161.45/120.24 1208[label="vuz99 `rem` vuz97",fontsize=16,color="burlywood",shape="triangle"];1599[label="vuz99/Integer vuz990",fontsize=10,color="white",style="solid",shape="box"];1208 -> 1599[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1599 -> 1230[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1209[label="gcd0Gcd'1 False vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1209 -> 1231[label="",style="solid", color="black", weight=3]; 161.45/120.24 1210[label="gcd0Gcd'1 True vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1210 -> 1232[label="",style="solid", color="black", weight=3]; 161.45/120.24 1221[label="primQuotInt (Pos vuz490) (Pos (Succ vuz99000))",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 161.45/120.24 1222[label="primQuotInt (Pos vuz490) (Pos Zero)",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 161.45/120.24 1223[label="primQuotInt (Pos vuz490) (Neg (Succ vuz99000))",fontsize=16,color="black",shape="box"];1223 -> 1245[label="",style="solid", color="black", weight=3]; 161.45/120.24 1224[label="primQuotInt (Pos vuz490) (Neg Zero)",fontsize=16,color="black",shape="box"];1224 -> 1246[label="",style="solid", color="black", weight=3]; 161.45/120.24 1225[label="primQuotInt (Neg vuz490) (Pos (Succ vuz99000))",fontsize=16,color="black",shape="box"];1225 -> 1247[label="",style="solid", color="black", weight=3]; 161.45/120.24 1226[label="primQuotInt (Neg vuz490) (Pos Zero)",fontsize=16,color="black",shape="box"];1226 -> 1248[label="",style="solid", color="black", weight=3]; 161.45/120.24 1227[label="primQuotInt (Neg vuz490) (Neg (Succ vuz99000))",fontsize=16,color="black",shape="box"];1227 -> 1249[label="",style="solid", color="black", weight=3]; 161.45/120.24 1228[label="primQuotInt (Neg vuz490) (Neg Zero)",fontsize=16,color="black",shape="box"];1228 -> 1250[label="",style="solid", color="black", weight=3]; 161.45/120.24 755[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];755 -> 774[label="",style="solid", color="black", weight=3]; 161.45/120.24 756[label="Pos Zero",fontsize=16,color="green",shape="box"];757[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];757 -> 775[label="",style="solid", color="black", weight=3]; 161.45/120.24 758[label="Neg Zero",fontsize=16,color="green",shape="box"];759[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1600[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];759 -> 1600[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1600 -> 776[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1601[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];759 -> 1601[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1601 -> 777[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 760 -> 759[label="",style="dashed", color="red", weight=0]; 161.45/120.24 760[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];760 -> 778[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 761 -> 759[label="",style="dashed", color="red", weight=0]; 161.45/120.24 761[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];761 -> 779[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 762 -> 759[label="",style="dashed", color="red", weight=0]; 161.45/120.24 762[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];762 -> 780[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 762 -> 781[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1229[label="absReal1 (Integer vuz1020) (not (primCmpInt vuz1020 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1602[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1229 -> 1602[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1602 -> 1251[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1603[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1229 -> 1603[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1603 -> 1252[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1230[label="Integer vuz990 `rem` vuz97",fontsize=16,color="burlywood",shape="box"];1604[label="vuz97/Integer vuz970",fontsize=10,color="white",style="solid",shape="box"];1230 -> 1604[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1604 -> 1253[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1231 -> 1254[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1231[label="gcd0Gcd'0 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1231 -> 1255[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1232[label="vuz97",fontsize=16,color="green",shape="box"];1243[label="Pos (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1243 -> 1256[label="",style="dashed", color="green", weight=3]; 161.45/120.24 1244 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1244[label="error []",fontsize=16,color="magenta"];1245[label="Neg (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1245 -> 1257[label="",style="dashed", color="green", weight=3]; 161.45/120.24 1246 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1246[label="error []",fontsize=16,color="magenta"];1247[label="Neg (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1247 -> 1258[label="",style="dashed", color="green", weight=3]; 161.45/120.24 1248 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1248[label="error []",fontsize=16,color="magenta"];1249[label="Pos (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1249 -> 1259[label="",style="dashed", color="green", weight=3]; 161.45/120.24 1250 -> 473[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1250[label="error []",fontsize=16,color="magenta"];774[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];775[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];775 -> 793[label="",style="solid", color="black", weight=3]; 161.45/120.24 776[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];776 -> 794[label="",style="solid", color="black", weight=3]; 161.45/120.24 777[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];777 -> 795[label="",style="solid", color="black", weight=3]; 161.45/120.24 778[label="vuz7400",fontsize=16,color="green",shape="box"];779[label="vuz750",fontsize=16,color="green",shape="box"];780[label="vuz7400",fontsize=16,color="green",shape="box"];781[label="vuz750",fontsize=16,color="green",shape="box"];1251[label="absReal1 (Integer (Pos vuz10200)) (not (primCmpInt (Pos vuz10200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1605[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1251 -> 1605[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1605 -> 1260[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1606[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1251 -> 1606[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1606 -> 1261[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1252[label="absReal1 (Integer (Neg vuz10200)) (not (primCmpInt (Neg vuz10200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1607[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1252 -> 1607[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1607 -> 1262[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1608[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1252 -> 1608[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1608 -> 1263[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1253[label="Integer vuz990 `rem` Integer vuz970",fontsize=16,color="black",shape="box"];1253 -> 1264[label="",style="solid", color="black", weight=3]; 161.45/120.24 1255 -> 1208[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1255[label="vuz99 `rem` vuz97",fontsize=16,color="magenta"];1254[label="gcd0Gcd'0 vuz97 vuz109",fontsize=16,color="black",shape="triangle"];1254 -> 1265[label="",style="solid", color="black", weight=3]; 161.45/120.24 1256 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1256[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1256 -> 1271[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1256 -> 1272[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1257 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1257[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1257 -> 1273[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1257 -> 1274[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1258 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1258[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1258 -> 1275[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1258 -> 1276[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1259 -> 491[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1259[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1259 -> 1277[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1259 -> 1278[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 793 -> 72[label="",style="dashed", color="red", weight=0]; 161.45/120.24 793[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];793 -> 813[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 794[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1609[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];794 -> 1609[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1609 -> 814[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1610[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];794 -> 1610[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1610 -> 815[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 795[label="Zero",fontsize=16,color="green",shape="box"];1260[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (primCmpInt (Pos (Succ vuz102000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1260 -> 1279[label="",style="solid", color="black", weight=3]; 161.45/120.24 1261[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1261 -> 1280[label="",style="solid", color="black", weight=3]; 161.45/120.24 1262[label="absReal1 (Integer (Neg (Succ vuz102000))) (not (primCmpInt (Neg (Succ vuz102000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1262 -> 1281[label="",style="solid", color="black", weight=3]; 161.45/120.24 1263[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1263 -> 1282[label="",style="solid", color="black", weight=3]; 161.45/120.24 1264[label="Integer (primRemInt vuz990 vuz970)",fontsize=16,color="green",shape="box"];1264 -> 1283[label="",style="dashed", color="green", weight=3]; 161.45/120.24 1265 -> 1147[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1265[label="gcd0Gcd' vuz109 (vuz97 `rem` vuz109)",fontsize=16,color="magenta"];1265 -> 1284[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1265 -> 1285[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1271[label="vuz490",fontsize=16,color="green",shape="box"];1272[label="vuz99000",fontsize=16,color="green",shape="box"];1273[label="vuz490",fontsize=16,color="green",shape="box"];1274[label="vuz99000",fontsize=16,color="green",shape="box"];1275[label="vuz490",fontsize=16,color="green",shape="box"];1276[label="vuz99000",fontsize=16,color="green",shape="box"];1277[label="vuz490",fontsize=16,color="green",shape="box"];1278[label="vuz99000",fontsize=16,color="green",shape="box"];813[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];814[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1611[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];814 -> 1611[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1611 -> 845[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1612[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];814 -> 1612[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1612 -> 846[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 815[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1613[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];815 -> 1613[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1613 -> 847[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1614[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];815 -> 1614[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1614 -> 848[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1279[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (primCmpNat (Succ vuz102000) Zero == LT))",fontsize=16,color="black",shape="box"];1279 -> 1294[label="",style="solid", color="black", weight=3]; 161.45/120.24 1280[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1280 -> 1295[label="",style="solid", color="black", weight=3]; 161.45/120.24 1281[label="absReal1 (Integer (Neg (Succ vuz102000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1281 -> 1296[label="",style="solid", color="black", weight=3]; 161.45/120.24 1282[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1282 -> 1297[label="",style="solid", color="black", weight=3]; 161.45/120.24 1283 -> 648[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1283[label="primRemInt vuz990 vuz970",fontsize=16,color="magenta"];1283 -> 1298[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1283 -> 1299[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1284[label="vuz97",fontsize=16,color="green",shape="box"];1285[label="vuz109",fontsize=16,color="green",shape="box"];845[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];845 -> 856[label="",style="solid", color="black", weight=3]; 161.45/120.24 846[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];846 -> 857[label="",style="solid", color="black", weight=3]; 161.45/120.24 847[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];847 -> 858[label="",style="solid", color="black", weight=3]; 161.45/120.24 848[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];848 -> 859[label="",style="solid", color="black", weight=3]; 161.45/120.24 1294[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1294 -> 1308[label="",style="solid", color="black", weight=3]; 161.45/120.24 1295[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1295 -> 1309[label="",style="solid", color="black", weight=3]; 161.45/120.24 1296[label="absReal1 (Integer (Neg (Succ vuz102000))) (not True)",fontsize=16,color="black",shape="box"];1296 -> 1310[label="",style="solid", color="black", weight=3]; 161.45/120.24 1297[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1297 -> 1311[label="",style="solid", color="black", weight=3]; 161.45/120.24 1298[label="vuz970",fontsize=16,color="green",shape="box"];1299[label="vuz990",fontsize=16,color="green",shape="box"];856 -> 1373[label="",style="dashed", color="red", weight=0]; 161.45/120.24 856[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];856 -> 1374[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 856 -> 1375[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 856 -> 1376[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 856 -> 1377[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 857[label="primModNatS0 (Succ vuz75000) Zero True",fontsize=16,color="black",shape="box"];857 -> 870[label="",style="solid", color="black", weight=3]; 161.45/120.24 858[label="primModNatS0 Zero (Succ vuz74000) False",fontsize=16,color="black",shape="box"];858 -> 871[label="",style="solid", color="black", weight=3]; 161.45/120.24 859[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];859 -> 872[label="",style="solid", color="black", weight=3]; 161.45/120.24 1308[label="absReal1 (Integer (Pos (Succ vuz102000))) (not False)",fontsize=16,color="black",shape="box"];1308 -> 1316[label="",style="solid", color="black", weight=3]; 161.45/120.24 1309[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1309 -> 1317[label="",style="solid", color="black", weight=3]; 161.45/120.24 1310[label="absReal1 (Integer (Neg (Succ vuz102000))) False",fontsize=16,color="black",shape="box"];1310 -> 1318[label="",style="solid", color="black", weight=3]; 161.45/120.24 1311[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1311 -> 1319[label="",style="solid", color="black", weight=3]; 161.45/120.24 1374[label="vuz74000",fontsize=16,color="green",shape="box"];1375[label="vuz75000",fontsize=16,color="green",shape="box"];1376[label="vuz74000",fontsize=16,color="green",shape="box"];1377[label="vuz75000",fontsize=16,color="green",shape="box"];1373[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS vuz128 vuz129)",fontsize=16,color="burlywood",shape="triangle"];1615[label="vuz128/Succ vuz1280",fontsize=10,color="white",style="solid",shape="box"];1373 -> 1615[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1615 -> 1406[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1616[label="vuz128/Zero",fontsize=10,color="white",style="solid",shape="box"];1373 -> 1616[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1616 -> 1407[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 870 -> 759[label="",style="dashed", color="red", weight=0]; 161.45/120.24 870[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];870 -> 890[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 870 -> 891[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 871[label="Succ Zero",fontsize=16,color="green",shape="box"];872 -> 759[label="",style="dashed", color="red", weight=0]; 161.45/120.24 872[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];872 -> 892[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 872 -> 893[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1316[label="absReal1 (Integer (Pos (Succ vuz102000))) True",fontsize=16,color="black",shape="box"];1316 -> 1323[label="",style="solid", color="black", weight=3]; 161.45/120.24 1317[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1318[label="absReal0 (Integer (Neg (Succ vuz102000))) otherwise",fontsize=16,color="black",shape="box"];1318 -> 1324[label="",style="solid", color="black", weight=3]; 161.45/120.24 1319[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1406[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) vuz129)",fontsize=16,color="burlywood",shape="box"];1617[label="vuz129/Succ vuz1290",fontsize=10,color="white",style="solid",shape="box"];1406 -> 1617[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1617 -> 1408[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1618[label="vuz129/Zero",fontsize=10,color="white",style="solid",shape="box"];1406 -> 1618[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1618 -> 1409[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1407[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero vuz129)",fontsize=16,color="burlywood",shape="box"];1619[label="vuz129/Succ vuz1290",fontsize=10,color="white",style="solid",shape="box"];1407 -> 1619[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1619 -> 1410[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 1620[label="vuz129/Zero",fontsize=10,color="white",style="solid",shape="box"];1407 -> 1620[label="",style="solid", color="burlywood", weight=9]; 161.45/120.24 1620 -> 1411[label="",style="solid", color="burlywood", weight=3]; 161.45/120.24 890[label="Zero",fontsize=16,color="green",shape="box"];891 -> 885[label="",style="dashed", color="red", weight=0]; 161.45/120.24 891[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];891 -> 907[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 891 -> 908[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 892[label="Zero",fontsize=16,color="green",shape="box"];893 -> 885[label="",style="dashed", color="red", weight=0]; 161.45/120.24 893[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];893 -> 909[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 893 -> 910[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1323[label="Integer (Pos (Succ vuz102000))",fontsize=16,color="green",shape="box"];1324[label="absReal0 (Integer (Neg (Succ vuz102000))) True",fontsize=16,color="black",shape="box"];1324 -> 1328[label="",style="solid", color="black", weight=3]; 161.45/120.24 1408[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) (Succ vuz1290))",fontsize=16,color="black",shape="box"];1408 -> 1412[label="",style="solid", color="black", weight=3]; 161.45/120.24 1409[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) Zero)",fontsize=16,color="black",shape="box"];1409 -> 1413[label="",style="solid", color="black", weight=3]; 161.45/120.24 1410[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero (Succ vuz1290))",fontsize=16,color="black",shape="box"];1410 -> 1414[label="",style="solid", color="black", weight=3]; 161.45/120.24 1411[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1411 -> 1415[label="",style="solid", color="black", weight=3]; 161.45/120.24 907[label="Succ vuz75000",fontsize=16,color="green",shape="box"];908[label="Zero",fontsize=16,color="green",shape="box"];909[label="Zero",fontsize=16,color="green",shape="box"];910[label="Zero",fontsize=16,color="green",shape="box"];1328 -> 71[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1328[label="`negate` Integer (Neg (Succ vuz102000))",fontsize=16,color="magenta"];1328 -> 1331[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1412 -> 1373[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1412[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS vuz1280 vuz1290)",fontsize=16,color="magenta"];1412 -> 1416[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1412 -> 1417[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1413[label="primModNatS0 (Succ vuz126) (Succ vuz127) True",fontsize=16,color="black",shape="triangle"];1413 -> 1418[label="",style="solid", color="black", weight=3]; 161.45/120.24 1414[label="primModNatS0 (Succ vuz126) (Succ vuz127) False",fontsize=16,color="black",shape="box"];1414 -> 1419[label="",style="solid", color="black", weight=3]; 161.45/120.24 1415 -> 1413[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1415[label="primModNatS0 (Succ vuz126) (Succ vuz127) True",fontsize=16,color="magenta"];1331[label="Integer (Neg (Succ vuz102000))",fontsize=16,color="green",shape="box"];1416[label="vuz1280",fontsize=16,color="green",shape="box"];1417[label="vuz1290",fontsize=16,color="green",shape="box"];1418 -> 759[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1418[label="primModNatS (primMinusNatS (Succ vuz126) (Succ vuz127)) (Succ (Succ vuz127))",fontsize=16,color="magenta"];1418 -> 1420[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1418 -> 1421[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1419[label="Succ (Succ vuz126)",fontsize=16,color="green",shape="box"];1420[label="Succ vuz127",fontsize=16,color="green",shape="box"];1421 -> 885[label="",style="dashed", color="red", weight=0]; 161.45/120.24 1421[label="primMinusNatS (Succ vuz126) (Succ vuz127)",fontsize=16,color="magenta"];1421 -> 1422[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1421 -> 1423[label="",style="dashed", color="magenta", weight=3]; 161.45/120.24 1422[label="Succ vuz126",fontsize=16,color="green",shape="box"];1423[label="Succ vuz127",fontsize=16,color="green",shape="box"];} 161.45/120.24 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (888) 161.45/120.24 Complex Obligation (AND) 161.45/120.24 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (889) 161.45/120.24 Obligation: 161.45/120.24 Q DP problem: 161.45/120.24 The TRS P consists of the following rules: 161.45/120.24 161.45/120.24 new_primMinusNat(Succ(vuz400), Succ(vuz300), []) -> new_primMinusNat(vuz400, vuz300, []) 161.45/120.24 161.45/120.24 R is empty. 161.45/120.24 Q is empty. 161.45/120.24 We have to consider all (P,Q,R)-chains. 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (890) QDPSizeChangeProof (EQUIVALENT) 161.45/120.24 We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 161.45/120.24 161.45/120.24 Order:EMB rules! 161.45/120.24 161.45/120.24 AFS: 161.45/120.24 [] = [] 161.45/120.24 161.45/120.24 Succ(x1) = Succ(x1) 161.45/120.24 161.45/120.24 161.45/120.24 161.45/120.24 161.45/120.24 161.45/120.24 From the DPs we obtained the following set of size-change graphs: 161.45/120.24 *new_primMinusNat(Succ(vuz400), Succ(vuz300), []) -> new_primMinusNat(vuz400, vuz300, []) (allowed arguments on rhs = {1, 2, 3}) 161.45/120.24 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 161.45/120.24 161.45/120.24 161.45/120.24 161.45/120.24 We oriented the following set of usable rules [AAECC05,FROCOS05]. 161.45/120.24 none 161.45/120.24 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (891) 161.45/120.24 YES 161.45/120.24 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (892) 161.45/120.24 Obligation: 161.45/120.24 Q DP problem: 161.45/120.24 P is empty. 161.45/120.24 R is empty. 161.45/120.24 Q is empty. 161.45/120.24 We have to consider all (P,Q,R)-chains. 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (893) PisEmptyProof (EQUIVALENT) 161.45/120.24 The TRS P is empty. Hence, there is no (P,Q,R) chain. 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (894) 161.45/120.24 YES 161.45/120.24 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (895) 161.45/120.24 Obligation: 161.45/120.24 Q DP problem: 161.45/120.24 The TRS P consists of the following rules: 161.45/120.24 161.45/120.24 new_primPlusNat(Succ(vuz400), Succ(vuz300), []) -> new_primPlusNat(vuz400, vuz300, []) 161.45/120.24 161.45/120.24 R is empty. 161.45/120.24 Q is empty. 161.45/120.24 We have to consider all (P,Q,R)-chains. 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (896) QDPSizeChangeProof (EQUIVALENT) 161.45/120.24 We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 161.45/120.24 161.45/120.24 Order:EMB rules! 161.45/120.24 161.45/120.24 AFS: 161.45/120.24 [] = [] 161.45/120.24 161.45/120.24 Succ(x1) = Succ(x1) 161.45/120.24 161.45/120.24 161.45/120.24 161.45/120.24 161.45/120.24 161.45/120.24 From the DPs we obtained the following set of size-change graphs: 161.45/120.24 *new_primPlusNat(Succ(vuz400), Succ(vuz300), []) -> new_primPlusNat(vuz400, vuz300, []) (allowed arguments on rhs = {1, 2, 3}) 161.45/120.24 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 161.45/120.24 161.45/120.24 161.45/120.24 161.45/120.24 We oriented the following set of usable rules [AAECC05,FROCOS05]. 161.45/120.24 none 161.45/120.24 161.45/120.24 ---------------------------------------- 161.45/120.24 161.45/120.24 (897) 161.45/120.24 YES 161.45/120.27 EOF